I believe this is the fix for #5510. Refs #5510. I still don't understand why that crash was occurring, but this goes back to the technique I wanted to use originally, with {{{CFSocketDisableCallBacks()}}}. The problem I was running into, that it didn't seem to matter if I disabled callbacks, was that since CFSocket uses a version 0 runloop, it's possible for a callback on, for example, write, to already be queued up in the runloop waiting to be sent on the next time through. Therefore, when you call {{{CFSocketDisableCallBacks()}}} you have to be prepared to potentially get an erroneous callback on the next immediate run loop if the socket is autoreenabling (which it is for us) and already ready to go. [[BR]][[BR]] Could someone please post a test build in #5510? I'm out until tomorrow night at the earliest.
git-svn-id: svn://svn.adiumx.com/adium/trunk@17766 1c916fce-81e2-0310-a464-8ca513f45935