[svn] Our way of using kqueue may cause it to report fds we
don't know about anymore, cope.
This commit is contained in:
parent
df98bc52c8
commit
51b5f3356a
3 changed files with 18 additions and 2 deletions
|
@ -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
|
||||
|
|
|
@ -1 +1 @@
|
|||
#define SERNO "20070305-3237"
|
||||
#define SERNO "20070305-3239"
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue