36 #define G_LOG_DOMAIN "sd main"
44 waitpid (
pid, &status, WNOHANG);
54 if (getpgrp () != getpid ())
58 if (kill (0, sig) < 0)
67 if (kill (0, sig) < 0)
89 struct sigaction saNew, saOld;
92 sigfillset (&saNew.sa_mask);
93 sigdelset (&saNew.sa_mask, SIGALRM);
96 saNew.sa_handler = handler;
98 sigaction (signum, &saNew, &saOld);
99 return saOld.sa_handler;
107 waitpid (
pid, &status, WNOHANG);
115 char *message =
"SIGSEGV occurred!\n";
119 ret = backtrace (array, 10);
120 strings = backtrace_symbols (array, ret);
121 g_warning (
"%s", message);
123 for (left = 0; left < 10; left++)
124 g_warning (
"%s\n", strings[left]);
132 signal (SIGSEGV, _exit);
138 raise (given_signal);