John Murphy
11/22/2008 6:28 PM
post17134
|
There's probably a better forum for talking about the dispatch library code, but since I found the problem while trying
to build an unloadable LSM, I'll report it here.
The dispatch_destroy() code does not free the select->ctrl->coid. Thus, after some number of cycles of select_attach()
/select_detach()/dispatch_destroy(), select_attach() fails with EMFILE.
I added a ConnectDetach in dispatch_destroy(), and that solved my immediate problem. I guess you could argue both ways
about select_detach() noticing that the coid was no longer needed and and dealing with it at that point, but it seems
like it should be dealt with at least in dispatch_destroy.
Murf
|
|
|