[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)
|
nenolod 2007/03/05 17:35:17 UTC (20070305-3237)
|
||||||
Log:
|
Log:
|
||||||
- fix for 100% cpu use
|
- 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
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||||
* USA
|
* 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"
|
#include "stdinc.h"
|
||||||
|
@ -247,6 +247,13 @@ comm_select(unsigned long delay)
|
||||||
/* XXX error == bad! -- adrian */
|
/* XXX error == bad! -- adrian */
|
||||||
continue; /* XXX! */
|
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)
|
switch (ke[i].filter)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue