36 static sigset_t osignals;
39 sigwaiter (gpointer data)
46 sigemptyset(&signals);
47 sigaddset (&signals, SIGINT);
48 sigaddset (&signals, SIGTERM);
51 sigwait (&signals, &caught);
56 pthread_sigmask (SIG_UNBLOCK, &signals, NULL);
61 memset (&arg, 0,
sizeof (arg));
62 xmms_error_reset (&arg.
error);
75 sigemptyset(&signals);
77 sigaddset (&signals, SIGHUP);
78 sigaddset (&signals, SIGTERM);
79 sigaddset (&signals, SIGINT);
80 sigaddset (&signals, SIGPIPE);
82 pthread_sigmask (SIG_BLOCK, &signals, &osignals);
88 pthread_sigmask (SIG_SETMASK, &osignals, NULL);
94 g_thread_create (sigwaiter, obj, FALSE, NULL);
void xmms_signal_restore(void)
void xmms_object_cmd_arg_init(xmms_object_cmd_arg_t *arg)
Initialize a command argument.
void xmms_signal_block(void)
void xmms_object_cmd_call(xmms_object_t *object, guint cmdid, xmms_object_cmd_arg_t *arg)
Call a command with argument.
#define xmms_log_info(fmt,...)
void xmms_signal_init(xmms_object_t *obj)