You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you are using CFReactor, and doing your own IO (in particular, using
pybonjour and adding your file descriptor to the reactor's reader list
(e.g., reactor.addReader), then, if you close the file descriptor before
you call removeReader, on some platforms (Lion) you will likely wind up
in CFRunLoopRemoveSource in a spinlock waiting on the FD. The solution is
either to ensure that you call removeReader before closing the FD, or
CFReactor could solve the problem by using CFRunLoopRemoveSourceInvalidate
instead of CFRunLoopRemoveSource at line 300.
Given that this specifically mentions Lion, and we have tests for this sort of FD shenanigans for other platforms, I don't think that this report is necessarily valid any more. If this is still an issue I really hope someone will re-report it, but given how much I use CFReactor these days, I think I will eventually bump into it if so. (Although really, removeReader before closing the FD is really the application's responsibility, dealing with closed FDs like this can only be done heuristically.)
If you are using CFReactor, and doing your own IO (in particular, using
pybonjour and adding your file descriptor to the reactor's reader list
(e.g., reactor.addReader), then, if you close the file descriptor before
you call removeReader, on some platforms (Lion) you will likely wind up
in CFRunLoopRemoveSource in a spinlock waiting on the FD. The solution is
either to ensure that you call removeReader before closing the FD, or
CFReactor could solve the problem by using CFRunLoopRemoveSourceInvalidate
instead of CFRunLoopRemoveSource at line 300.
See http://icodeanswer1.appspot.com/post/709526 and attached crash
report.txt file.
Attachments:
Searchable metadata
The text was updated successfully, but these errors were encountered: