version 1.12, 2002/05/23 20:11:56
|
version 1.13, 2002/05/28 20:05:35
|
|
|
| |
int count = 0; | int count = 0; |
| |
if (count == 0) |
|
{ |
|
memcpy(&_rep->active_rd_fd_set, &_rep->rd_fd_set, sizeof(fd_set)); | memcpy(&_rep->active_rd_fd_set, &_rep->rd_fd_set, sizeof(fd_set)); |
memcpy(&_rep->active_wr_fd_set, &_rep->wr_fd_set, sizeof(fd_set)); | memcpy(&_rep->active_wr_fd_set, &_rep->wr_fd_set, sizeof(fd_set)); |
memcpy(&_rep->active_ex_fd_set, &_rep->ex_fd_set, sizeof(fd_set)); | memcpy(&_rep->active_ex_fd_set, &_rep->ex_fd_set, sizeof(fd_set)); |
|
|
&_rep->active_wr_fd_set, | &_rep->active_wr_fd_set, |
&_rep->active_ex_fd_set, | &_rep->active_ex_fd_set, |
&tv); | &tv); |
|
|
if (count == 0) | if (count == 0) |
{ | { |
pegasus_sleep(milliseconds); | pegasus_sleep(milliseconds); |
|
|
else if (count == -1) | else if (count == -1) |
#endif | #endif |
{ | { |
count = 0; |
|
pegasus_sleep(milliseconds); | pegasus_sleep(milliseconds); |
|
|
return false; | return false; |
} | } |
} |
|
| |
for (Uint32 i = 0, n = _entries.size(); i < n; i++) |
Boolean handled_events = false; |
|
for (Uint32 i = 0, n = _entries.size(); i < _entries.size(); i++) |
{ | { |
Sint32 socket = _entries[i].socket; | Sint32 socket = _entries[i].socket; |
Uint32 events = 0; | Uint32 events = 0; |
|
|
o.enqueue(message); | o.enqueue(message); |
i--; | i--; |
n = _entries.size(); | n = _entries.size(); |
continue; |
|
} | } |
} | } |
} | } |
|
|
| |
if(_entries[i]._type == Monitor::CONNECTION) | if(_entries[i]._type == Monitor::CONNECTION) |
{ | { |
if( 0 == static_cast<HTTPConnection *>(queue)->refcount.value()) |
if( static_cast<HTTPConnection *>(queue)->refcount.value() == 0 ) |
{ | { |
static_cast<HTTPConnection *>(queue)->refcount++; | static_cast<HTTPConnection *>(queue)->refcount++; |
if( false == static_cast<HTTPConnection *>(queue)->is_dying()) | if( false == static_cast<HTTPConnection *>(queue)->is_dying()) |
|
|
queue->enqueue(message); | queue->enqueue(message); |
} | } |
count--; | count--; |
return true; |
|
} | } |
|
handled_events = true; |
} | } |
pegasus_sleep(milliseconds); |
return(handled_events); |
|
|
return false; |
|
} | } |
| |
Boolean Monitor::solicitSocketMessages( | Boolean Monitor::solicitSocketMessages( |