Browse Source

Use new flag that indicates a socket as a filedescriptor getter.

1.0.0
Georg Hopp 10 years ago
parent
commit
7360a155a7
  1. 3
      src/comm_manager_epoll.c
  2. 3
      src/comm_manager_poll.c
  3. 6
      src/i_comm_manager.c

3
src/comm_manager_epoll.c

@ -99,8 +99,7 @@ TR_commManagerEpollSelect(void * _this, TR_Event event, unsigned long timeout)
int handle = endpoint->transport->handle;
if ((events[i].events & EPOLLIN) == EPOLLIN) {
if (TR_INSTANCE_OF(TR_TcpSocket, endpoint->transport)
&& ((TR_TcpSocket)endpoint->transport)->listen) {
if (TR_socketFdGetter(endpoint->transport)) {
TR_setAdd(cmgr->accept, endpoint);
} else {
if (! event->subject->fin) {

3
src/comm_manager_poll.c

@ -95,8 +95,7 @@ TR_commManagerPollSelect(void * _this, TR_Event event, unsigned long timeout)
nevents--;
if ((this->fds[i].revents & POLLIN) == POLLIN) {
if (TR_INSTANCE_OF(TR_TcpSocket, endpoint->transport)
&& ((TR_TcpSocket)endpoint->transport)->listen) {
if (TR_socketFdGetter(endpoint->transport)) {
TR_setAdd(cmgr->accept, endpoint);
} else {
if (! event->subject->fin) {

6
src/i_comm_manager.c

@ -50,8 +50,7 @@ TR_commManagerAddEndpoint(void * _this, TR_CommEndPoint endpoint)
this->endpoints[endpoint->transport->handle] = endpoint;
if (TR_INSTANCE_OF(TR_TcpSocket, endpoint->transport)
&& ((TR_TcpSocket)endpoint->transport)->listen) {
if (TR_socketFdGetter(endpoint->transport)) {
TR_setAdd(this->accept, endpoint);
TR_ISSUE_IO_ACC_EVENT(this, endpoint);
} else {
@ -117,8 +116,7 @@ TR_commManagerPollRead(void * _this, TR_Event event)
TR_CommManager this = _this;
TR_CommEndPoint endpoint = (TR_CommEndPoint)event->subject;
if (TR_INSTANCE_OF(TR_TcpSocket, endpoint->transport)
&& ((TR_TcpSocket)endpoint->transport)->listen) {
if (TR_socketFdGetter(endpoint->transport)) {
TR_setDelete(this->accept, event->subject);
} else {
TR_setDelete(this->read, event->subject);

Loading…
Cancel
Save