[svn] Our way of using kqueue may cause it to report fds we

don't know about anymore, cope.
This commit is contained in:
jilles 2007-03-05 09:52:28 -08:00
parent df98bc52c8
commit 51b5f3356a
3 changed files with 18 additions and 2 deletions

View File

@ -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

View File

@ -1 +1 @@
#define SERNO "20070305-3237"
#define SERNO "20070305-3239"

View 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)
{