aboutsummaryrefslogtreecommitdiff
path: root/elymas/lib/net/alg
diff options
context:
space:
mode:
authorDrahflow <drahflow@gmx.de>2014-12-28 16:32:47 +0100
committerDrahflow <drahflow@gmx.de>2014-12-28 16:32:47 +0100
commite2cfcc8e4b59de8334da380dabf9d5208c5e7f4c (patch)
tree3f872919f20fe2e06089696e089ac3d3fe8dc479 /elymas/lib/net/alg
parent0e816c4c2c6f4df7f568b1ba0506354e8a83051c (diff)
Supply SO_REUSEADDR (default for buffered servers)
Diffstat (limited to 'elymas/lib/net/alg')
-rw-r--r--elymas/lib/net/alg/server.ey13
1 files changed, 8 insertions, 5 deletions
diff --git a/elymas/lib/net/alg/server.ey b/elymas/lib/net/alg/server.ey
index 2b291a7..882b46f 100644
--- a/elymas/lib/net/alg/server.ey
+++ b/elymas/lib/net/alg/server.ey
@@ -4,11 +4,16 @@
{ ==err ==actions _ 0 lt { actions err ??? } rep } "+???" deffd
{ <
+ sys .linux "+" via +epoll "++" via
+ sys .asm "+!" via
+ net .tcp "+:" via
+
<
{ 1 } /running deffst
{ 1000000 } /interval deffst
{ "unconfigured accept (of epollServer)" die } /accept deffst
{ "unconfigured port (of epollServer)" die } /port deffst
+ { 1 -01 +setsockopt .reuseAddr +??io.net.setsockopt -- } /reuseAddr deffst
{ = }' /set deffst
{ scope keys }' /setters deffst
@@ -19,14 +24,12 @@
{ deffst }' ::installSetters
- sys .linux "+" via +epoll "++" via
- sys .asm "+!" via
- net .tcp "+:" via
-
< > ==:noHandler
{
- ::port +:listenFd ==listenFd
+ ::port { # ==s
+ ::reuseAddr
+ } +:listenOptFd ==listenFd
[ ] ==allEventHandlers
{ ==fd ==handler