Commit Graph
9 Commits
Author SHA1 Message Date
Axel Dörfler b70a062dc5 * Separated create_socket() and the call to the protocol's open() function - open()
is not supposed to be called for accepted sockets, only for those created via
  a call the userland socket() function.
* Renamed net_socket_module_info::socket() to open_socket() to make this distinction
  a bit clearer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19254 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-11 11:56:52 +00:00
Axel Dörfler d2021d5766 * Took Philippe's hints into account - we now do some locking in socket_spawn_pending() :-)
* Also take the max backlog into account as set by listen() - but reserve a little
  extra room for never completing connections, and that listen(..., 0) always accepts
  at least a single connection (as the BSDs do).
* Spawned connections won't accept new connections, so SO_ACCEPTCONN must be cleared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-10 10:31:44 +00:00
Axel Dörfler 44b3faaa19 socket_accept() now checks for SO_ACCEPTCONN before calling the protocol's
accept function to enforce valid codepaths (you need to call listen() before
accept()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19247 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-10 09:32:11 +00:00
Axel Dörfler 1a0e92a33b Implemented backlog/pending connection support to the sockets - while currently
only TCP needs this, other stream oriented protocols might too, in the future.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-09 18:53:18 +00:00
Axel Dörfler ee50138fcd Now notifies all pending selects when closing the socket.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-07 12:37:13 +00:00
Axel Dörfler a7028ce680 * Implemented select support for sockets and notifications, not yet tested, though;
this closes ticket #811.
* Added notification support to IPv4 and UDP.
* Implemented reading out SO_ERROR.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-07 12:32:02 +00:00
Axel Dörfler 340cd7be3a * socket_getsockopt() now supports all boolean SO_* options as well.
* socket_listen() now sets the SO_ACCEPTCONN flag if it succeeds.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-10 18:12:18 +00:00
Axel Dörfler 943cedf784 setsockopt() now understands all boolead options.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-10 18:04:38 +00:00
Axel Dörfler c22d69bf1f * Completed the previous commit and merger of the team/network/new_stack branch.
* Removed ppp_up and pppcontrol from the image for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-08 13:07:07 +00:00