socket_connected() now notifies waiting selects().

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19662 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2006-12-31 15:45:10 +00:00
parent 8652d8f33a
commit 4684dfec2d
@@ -409,6 +409,10 @@ socket_connected(net_socket *socket)
list_remove_item(&parent->pending_children, socket); list_remove_item(&parent->pending_children, socket);
list_add_item(&parent->connected_children, socket); list_add_item(&parent->connected_children, socket);
// notify parent
if (parent->select_pool)
notify_select_event_pool(parent->select_pool, B_SELECT_READ);
benaphore_unlock(&parent->lock); benaphore_unlock(&parent->lock);
return B_OK; return B_OK;
} }
@@ -483,17 +487,15 @@ socket_notify(net_socket *_socket, uint8 event, int32 value)
switch (event) { switch (event) {
case B_SELECT_READ: case B_SELECT_READ:
{
if ((ssize_t)socket->receive.low_water_mark > value && value >= B_OK) if ((ssize_t)socket->receive.low_water_mark > value && value >= B_OK)
notify = false; notify = false;
break; break;
}
case B_SELECT_WRITE: case B_SELECT_WRITE:
{
if ((ssize_t)socket->send.low_water_mark > value && value >= B_OK) if ((ssize_t)socket->send.low_water_mark > value && value >= B_OK)
notify = false; notify = false;
break; break;
}
case B_SELECT_ERROR: case B_SELECT_ERROR:
socket->error = value; socket->error = value;
break; break;