37 static sigset_t osignals;
40 sigwaiter (gpointer data)
49 sigemptyset(&signals);
50 sigaddset (&signals, SIGINT);
51 sigaddset (&signals, SIGTERM);
54 sigwait (&signals, &caught);
59 pthread_sigmask (SIG_UNBLOCK, &signals, NULL);
64 memset (&arg, 0,
sizeof (arg));
66 xmms_error_reset (&arg.
error);
81 sigemptyset(&signals);
83 sigaddset (&signals, SIGHUP);
84 sigaddset (&signals, SIGTERM);
85 sigaddset (&signals, SIGINT);
87 pthread_sigmask (SIG_BLOCK, &signals, &osignals);
95 signal (SIGPIPE, SIG_IGN);
101 pthread_sigmask (SIG_SETMASK, &osignals, NULL);
107 g_thread_create (sigwaiter, obj, FALSE, NULL);
void xmms_set_thread_name(const gchar *name)
void xmmsv_unref(xmmsv_t *val)
Decreases the references for the xmmsv_t When the number of references reaches 0 it will be freed...
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)
xmmsv_t * xmmsv_new_list(void)
Allocates a new list xmmsv_t.
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)