|
|
|
@ -87,30 +87,33 @@ TR_commManagerPollSelect(void * _this, TR_Event event, int timeout) |
|
|
|
TR_CommEndPoint endpoint = cmgr->endpoints[i]; |
|
|
|
|
|
|
|
if ((this->fds[i].revents & POLLIN) == POLLIN) { |
|
|
|
TR_Event event; |
|
|
|
|
|
|
|
nevents--; |
|
|
|
if (TR_INSTANCE_OF(TR_TcpSocket, endpoint->transport) |
|
|
|
&& ((TR_TcpSocket)endpoint->transport)->listen) { |
|
|
|
TR_eventHandlerIssueEvent( |
|
|
|
(TR_EventHandler)this, |
|
|
|
event = TR_eventSubjectEmit( |
|
|
|
(TR_EventSubject)endpoint, |
|
|
|
TR_CET_EVENT_ACC_READY, |
|
|
|
NULL); |
|
|
|
} else { |
|
|
|
TR_eventHandlerIssueEvent( |
|
|
|
(TR_EventHandler)this, |
|
|
|
event = TR_eventSubjectEmit( |
|
|
|
(TR_EventSubject)endpoint, |
|
|
|
TR_CEP_EVENT_READ_READY, |
|
|
|
NULL); |
|
|
|
} |
|
|
|
|
|
|
|
TR_eventHandlerIssueEvent((TR_EventHandler)this, event); |
|
|
|
} |
|
|
|
|
|
|
|
if ((this->fds[i].revents & POLLOUT) == POLLOUT) { |
|
|
|
nevents--; |
|
|
|
TR_eventHandlerIssueEvent( |
|
|
|
(TR_EventHandler)this, |
|
|
|
TR_eventSubjectEmit( |
|
|
|
(TR_EventSubject)endpoint, |
|
|
|
TR_CEP_EVENT_WRITE_READY, |
|
|
|
NULL); |
|
|
|
NULL)); |
|
|
|
} |
|
|
|
|
|
|
|
if (nevents <= 0) break; |
|
|
|
|