CSocket callback keeps giving my Data instead of Read
site_archiver@lists.apple.com Delivered-To: macnetworkprog@lists.apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list (Macnetworkprog@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/macnetworkprog/site_archiver%40lists.... This email sent to site_archiver@lists.apple.com CFOptionFlags callBackTypes = 0, autocallbacktypes = 0; // build event flags if (lEvent & FD_READ) { callBackTypes |= kCFSocketReadCallBack; autocallbacktypes |= kCFSocketAutomaticallyReenableReadCallBack; } if (lEvent & FD_WRITE) { callBackTypes |= kCFSocketWriteCallBack; autocallbacktypes |= kCFSocketAutomaticallyReenableWriteCallBack; } if (lEvent & FD_ACCEPT) { callBackTypes |= kCFSocketAcceptCallBack; autocallbacktypes |= kCFSocketAutomaticallyReenableAcceptCallBack; } if (lEvent & FD_CONNECT) callBackTypes |= kCFSocketConnectCallBack; if (!(socket->m_cfsocket = CFSocketCreateWithNative( NULL, s, callBackTypes, (CFSocketCallBack)&SocketCallBack, NULL))) return SOCKET_ERROR; // make sure underlying SOCKET isn't clobbered when CFSocket invalidated, and make sure DataCallBack is not automatically reenabled CFSocketSetSocketFlags( socket->m_cfsocket, autocallbacktypes | kCFSocketCloseOnInvalidate ); CFSocketDisableCallBacks( socket->m_cfsocket, kCFSocketDataCallBack ); // we REALLY don't want these if (!(socket->m_runloopsource = CFSocketCreateRunLoopSource(NULL, socket->m_cfsocket, 0))) { CFRelease( socket->m_cfsocket ); socket->m_cfsocket = NULL; return SOCKET_ERROR; } CFRunLoopAddSource((CFRunLoopRef)GetCFRunLoopFromEventLoop(GetMainEventLoop()), socket->m_runloopsource, kCFRunLoopCommonModes);
participants (1)
-
Ken Baer