# include <fcntl.h>
#endif
#ifdef HAVE_SIGNAL_H
+#define __USE_UNIX98
# include <signal.h>
#endif
#ifdef HAVE_STDLIB_H
sigemptyset(&sigset);
action.sa_handler = dispatch_signal;
action.sa_mask = sigset;
- action.sa_flags = SA_NOCLDSTOP;
+ action.sa_flags = SA_NOCLDSTOP | SA_NODEFER;
sigaction(SIGUSR1, &action, (struct sigaction *) NULL);
sigaction(SIGPIPE, &action, (struct sigaction *) NULL);
- sigaction(SIGSEGV, &action, (struct sigaction *) NULL);
+/* sigaction(SIGSEGV, &action, (struct sigaction *) NULL);*/
sigaction(SIGFPE, &action, (struct sigaction *) NULL);
sigaction(SIGTERM, &action, (struct sigaction *) NULL);
sigaction(SIGINT, &action, (struct sigaction *) NULL);
mkdir(path, (S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IWGRP | S_IXGRP |
S_IROTH | S_IWOTH | S_IXOTH));
g_free(path);
+
+ g_set_prgname(argv[0]);
/* parse out command line args */
parse_args(argc, argv);
timer_startup();
event_startup();
grab_startup();
+ /* focus_backup is used for stacking, so this needs to come before
+ anything that calls stacking_add */
+ focus_startup();
+ window_startup();
plugin_startup();
/* load the plugins specified in the pluginrc */
plugin_loadall();
/* set up the kernel config shit */
config_startup();
+ menu_startup();
/* parse/load user options */
if (parse_load_rc(&doc, &node))
parse_tree(doc, node->xmlChildrenNode, NULL);
if (ob_rr_theme == NULL)
exit_with_error("Unable to load a theme.");
- window_startup();
- menu_startup();
frame_startup();
moveresize_startup();
- focus_startup();
screen_startup();
group_startup();
client_startup();
s = e->data.s.signal;
switch (s) {
case SIGUSR1:
- g_message("Caught SIGUSR1 signal. Restarting.");
+ fprintf(stderr, "Caught SIGUSR1 signal. Restarting.");
ob_shutdown = ob_restart = TRUE;
break;
case SIGINT:
case SIGTERM:
case SIGPIPE:
- g_message("Caught signal %d. Exiting.", s);
+ fprintf(stderr, "Caught signal %d. Exiting.", s);
ob_shutdown = TRUE;
break;
case SIGFPE:
case SIGSEGV:
- g_message("Caught signal %d. Aborting and dumping core.", s);
+ fprintf(stderr, "Caught signal %d. Aborting and dumping core.", s);
abort();
}
}