Browse Source

It seems that I have it right now

1.0.0
Georg Hopp 12 years ago
parent
commit
c0ce13990a
  1. 5
      src/i_comm_manager.c

5
src/i_comm_manager.c

@ -102,17 +102,18 @@ TR_commManagerSelect(void * _this, TR_Event event)
if (! this->io_triggered) {
printf("[DEBUG] [%s] io triggerd was empty\n", buffer);
fflush(stdout);
pthread_mutex_lock(&this->io_triggered_lock);
this->io_triggered = TR_hashEach(this->write, this, commManagerIssueWriteEvents);
this->io_triggered += TR_hashEach(this->accept, this, commManagerIssueAcceptEvents);
this->io_triggered += TR_hashEach(this->read, this, commManagerIssueReadEvents);
pthread_mutex_unlock(&this->io_triggered_lock);
}
printf("[DEBUG] [%s] io triggerd: %lu\n", buffer, this->io_triggered);
fflush(stdout);
if (! this->io_triggered) {
pthread_mutex_unlock(&this->io_triggered_lock);
if (NULL == timer) {
timeout = TR_eventDispatcherGetDataWaitTime(dispatcher);
} else {
@ -123,6 +124,8 @@ TR_commManagerSelect(void * _this, TR_Event event)
fflush(stdout);
TR_CALL(_this, TR_CommManager, select, event, timeout);
} else {
pthread_mutex_unlock(&this->io_triggered_lock);
}
return TR_EVENT_DONE;

Loading…
Cancel
Save