#124: running jabberd 2.1.12 with electric fence
-------------------+--------------------------------------------------------
Reporter: tofu | Owner: smoku
Type: defect | Status: new
Priority: major | Component: General
Version: 2.1.11 | Resolution:
Keywords: | Blocking:
-------------------+--------------------------------------------------------
Comment (by jack):
It looks to me after investigating that [313] is just plain wrong. You
can't free the socket from _mio_close as this can be called from callbacks
in mio_run. This means that during the middle of the event processing the
fd pointer can get freed and set to NULL.
I don't understand why this change was made. The only thing I can think
of is that epoll is not generating an event for when the socket is closed,
but that is probably because you are removing the socket from the event
queue.
If it is leaking fds, then there needs to be a closing_queue type thing
that gets freed by mio_run. For now, it is better to leak than crash!
--
Ticket URL: <http://jabberd2.xiaoka.com/ticket/124#comment:4>
jabberd2 <http://jabberd2.xiaoka.com/>
jabberd2 project
_______________________________________________
Jabberd2 mailing list
[email protected]
http://lists.xiaoka.com/listinfo.cgi/jabberd2-xiaoka.com