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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user