diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-10-23 12:30:30 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-10-23 23:01:56 +0200 |
| commit | afb87c6d29275e18faec6a8b96e7d5ab57bcb0f9 (patch) | |
| tree | 1cd7e0ab6a3a10347547a232e187838a6ca5957f /main.c | |
| parent | 5ae02ee68bd4df690d7ebcd6c8a0eb36fcf71835 (diff) | |
| download | vis-afb87c6d29275e18faec6a8b96e7d5ab57bcb0f9.tar.gz vis-afb87c6d29275e18faec6a8b96e7d5ab57bcb0f9.tar.xz | |
vis: begin librarization of core vis primitives
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 35 |
1 files changed, 35 insertions, 0 deletions
@@ -0,0 +1,35 @@ +#include <signal.h> +#include <string.h> +#include <errno.h> + +#include "ui-curses.h" +#include "vis.h" + +static Vis *vis; + +static void signal_handler(int signum, siginfo_t *siginfo, void *context) { + vis_signal_handler(vis, signum, siginfo, context); +} + +int main(int argc, char *argv[]) { + + vis = vis_new(ui_curses_new()); + + /* install signal handlers etc. */ + struct sigaction sa; + memset(&sa, 0, sizeof sa); + sa.sa_flags = SA_SIGINFO; + sa.sa_sigaction = signal_handler; + if (sigaction(SIGBUS, &sa, NULL) || sigaction(SIGINT, &sa, NULL)) + vis_die(vis, "sigaction: %s", strerror(errno)); + + sigset_t blockset; + sigemptyset(&blockset); + sigaddset(&blockset, SIGWINCH); + sigprocmask(SIG_BLOCK, &blockset, NULL); + signal(SIGPIPE, SIG_IGN); + + vis_run(vis, argc, argv); + vis_free(vis); + return 0; +} |
