]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
[svn] Our way of using kqueue may cause it to report fds we
authorjilles <redacted>
Mon, 5 Mar 2007 17:52:28 +0000 (09:52 -0800)
committerjilles <redacted>
Mon, 5 Mar 2007 17:52:28 +0000 (09:52 -0800)
don't know about anymore, cope.

ChangeLog
include/serno.h
libcharybdis/kqueue.c

index 00992216b20afdc62d89f8caec99ccb19c4093c3..e41ebe49c42c2b32ad19f2ad04f02d0c774817d1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+jilles      2007/03/05 17:41:40 UTC    (20070305-3239)
+  Log:
+  Don't reference freed memory (fde_t) in comm_close().
+  
+
+  Changes:     Modified:
+  +1 -1                trunk/libcharybdis/commio.c (File Modified) 
+
+
 nenolod     2007/03/05 17:35:17 UTC    (20070305-3237)
   Log:
   - fix for 100% cpu use
index 24cb0bee4de9bd88acf68092239b3c6af8940c86..0642cfc9357a74be0e6d587aea6379d20d2f27fc 100644 (file)
@@ -1 +1 @@
-#define SERNO "20070305-3237"
+#define SERNO "20070305-3239"
index 9f76b7cd6a99c949a90f5e3f4801de4afc916d9f..53dcdb4751780061cd36fd30f99d6719dddb7b1b 100644 (file)
@@ -22,7 +22,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: kqueue.c 3229 2007-03-05 17:23:07Z nenolod $
+ *  $Id: kqueue.c 3241 2007-03-05 17:52:28Z jilles $
  */
 
 #include "stdinc.h"
@@ -247,6 +247,13 @@ comm_select(unsigned long delay)
                        /* XXX error == bad! -- adrian */
                        continue;       /* XXX! */
                }
+               if (F == NULL)
+               {
+                       /* XXX this is because of our "queueing" of
+                        * kqueue changes so we may get ones for fds
+                        * we have already closed? -- jilles */
+                       continue;
+               }
 
                switch (ke[i].filter)
                {