1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- diff -ru herrie-2.1-orig/herrie-2.1/src/gui_input.c herrie-2.1-signals/herrie-2.1/src/gui_input.c
- --- herrie-2.1-orig/herrie-2.1/src/gui_input.c 2008-07-15 10:59:07.000000000 -0500
- +++ herrie-2.1-signals/herrie-2.1/src/gui_input.c 2008-07-18 09:44:41.000000000 -0500
- @@ -521,6 +521,9 @@
- sigset_t sset;
-
- sigemptyset(&sset);
- + sigaddset(&sset, SIGRTMIN+1);
- + sigaddset(&sset, SIGRTMIN+2);
- + sigaddset(&sset, SIGRTMIN+3);
- sigaddset(&sset, SIGUSR1);
- sigaddset(&sset, SIGUSR2);
- sigaddset(&sset, SIGHUP);
- @@ -545,20 +548,29 @@
- if (shutting_down)
- return;
-
- - switch (signal) {
- - case SIGUSR1:
- - playq_cursong_pause();
- - break;
- - case SIGUSR2:
- - playq_cursong_next();
- - break;
- - case SIGHUP:
- - case SIGINT:
- - case SIGPIPE:
- - case SIGQUIT:
- - case SIGTERM:
- - gui_input_quit();
- - g_assert_not_reached();
- + if (signal == (SIGRTMIN+1)) { gui_playq_song_select(); }
- + else {
- + if (signal == (SIGRTMIN+2)) { playq_cursong_stop(); }
- + else {
- + if (signal == (SIGRTMIN+3)) { playq_cursong_prev(); }
- + else {
- + switch (signal) {
- + case SIGUSR1:
- + playq_cursong_pause();
- + break;
- + case SIGUSR2:
- + playq_cursong_next();
- + break;
- + case SIGHUP:
- + case SIGINT:
- + case SIGPIPE:
- + case SIGQUIT:
- + case SIGTERM:
- + gui_input_quit();
- + g_assert_not_reached();
- + }
- + }
- + }
- }
- }
- #endif /* G_OS_UNIX */
- @@ -570,6 +582,9 @@
- unsigned int i;
-
- #ifdef G_OS_UNIX
- + signal(SIGRTMIN+1, gui_input_sighandler);
- + signal(SIGRTMIN+2, gui_input_sighandler);
- + signal(SIGRTMIN+3, gui_input_sighandler);
- signal(SIGUSR1, gui_input_sighandler);
- signal(SIGUSR2, gui_input_sighandler);
- signal(SIGHUP, gui_input_sighandler);
|