24448891 pidgin doesn't reset the SIGALRM signal handler causing Alarm Clock failures
authorRich Burridge <rich.burridge@oracle.com>
Fri, 26 Aug 2016 07:11:27 -0700
changeset 6704 1ea344c39db2
parent 6703 b41bd36a76a5
child 6705 5c13a23c74bc
24448891 pidgin doesn't reset the SIGALRM signal handler causing Alarm Clock failures
components/desktop/pidgin/patches/pidgin-20-fix-sigalrm.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/desktop/pidgin/patches/pidgin-20-fix-sigalrm.patch	Fri Aug 26 07:11:27 2016 -0700
@@ -0,0 +1,28 @@
+The sighandler() function in pidgin/gtkmain.c doesn't restore a SIGALRM
+handler.
+
+See: https://developer.pidgin.im/ticket/7902
+
+This was closed as fixed, but that doesn't seem to be the case.
+
+--- pidgin-2.11.0/pidgin/gtkmain.c.orig	2016-08-25 15:00:41.875707111 +0000
++++ pidgin-2.11.0/pidgin/gtkmain.c	2016-08-25 15:02:50.909744713 +0000
[email protected]@ -229,13 +229,17 @@
+ 		alarm(1);
+ 		break;
+ 	case SIGALRM:
++		clean_pid();
++		/* Restore signal catching */
++		signal(SIGALRM, sighandler);
++		break;
+ #else
+ 	case SIGCHLD:
+-#endif
+ 		clean_pid();
+ 		/* Restore signal catching */
+ 		signal(SIGCHLD, sighandler);
+ 		break;
++#endif
+ 	default:
+ 		purple_debug_warning("sighandler", "Caught signal %d\n", sig);
+ 		purple_core_quit();