[Libevent-users] event.c:673 failed assertion

Christopher Layne clayne at anodized.com
Fri Jun 1 03:46:19 EDT 2007


recv timeout, event == 1, 3, 0
^ From my own code, just debugging data, but pertinent in that it was just a timeout
event which was received. Since it seems one cannot have a persistent time out event
with a relative timeout (mentioned previously) - I always delete and re-add the specific
receive event following a timeout. Right after...

assertion "!(ev->ev_flags & ~EVLIST_ALL)" failed: file "event.c", line 673


My stack trace reveals these lines causing the issue:

static int yc_recv_set(yc *y, int tout)
{
	struct timeval tv;

	tv.tv_sec = tout;
	tv.tv_usec = 0;

-->	event_del(y->ev_r);
	event_add(y->ev_r, &tv);

	return 0;
}

No threading, no funky stuff, just a simple bounce function that I call within
the receive handler. Any good places to start looking? It looks as though this assertion
is to double-check that no "private" flags have been set. 1.3b on Cygwin, POSIX layer.
For now I'll just hack the assertion to be a conditional which prints the suspect flags...

-cl


More information about the Libevent-users mailing list