im.pidgin.pidgin: 64bb85d88261de930f9c987d2347b6babf8e7641

markdoliner at pidgin.im markdoliner at pidgin.im
Mon Nov 12 03:16:23 EST 2007


-----------------------------------------------------------------
Revision: 64bb85d88261de930f9c987d2347b6babf8e7641
Ancestor: a27dc2a87bba3fa7fd4c374c6aaff50ebf236bd0
Author: markdoliner at pidgin.im
Date: 2007-11-12T08:10:24
Branch: im.pidgin.pidgin

Modified files:
        pidgin/gtkmain.c

ChangeLog: 

Add a lengthy comment about a small problem with our signal handler

-------------- next part --------------
============================================================
--- pidgin/gtkmain.c	d7aa2eb74b296c2bdc262e050dfc715672ca1d6b
+++ pidgin/gtkmain.c	ac6957d18975feb807cd09cc75d7e3ef5e6abf71
@@ -195,6 +195,18 @@ char *segfault_message;
 
 char *segfault_message;
 
+/*
+ * This signal handler shouldn't be touching this much stuff.
+ * It should just set a flag and return, and something else in
+ * Pidgin should monitor the flag to see if something needs to
+ * be done.  Because the signal handler interrupts the program,
+ * it could be called in the middle of adding a new connection
+ * to the list of connections, and then if we try to disconnect
+ * all connections it could lead to a crash because the linked
+ * list of connections could be in a weird state.  But, well,
+ * this signal handler probably isn't called very often, so it's
+ * not a big deal.
+ */
 static void
 sighandler(int sig)
 {


More information about the Commits mailing list