File tree 1 file changed +5
-4
lines changed
1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change 54
54
domain* : Domain
55
55
numThreads: int
56
56
loggers: seq [Logger ]
57
- reusePort* : bool
57
+ reusePort* : Option [ bool ]
58
58
# when false, will fail if --threads is passed or if 2
59
- # processes bind to same address/port
59
+ # processes bind to same address/port. We use an Option to avoid
60
+ # breaking code that relies on `Settings(port: port)`
60
61
61
62
HttpBeastDefect * = ref object of Defect
62
63
@@ -73,7 +74,7 @@ proc initSettings*(port: Port = Port(8080),
73
74
domain: domain,
74
75
numThreads: numThreads,
75
76
loggers: getHandlers (),
76
- reusePort: reusePort,
77
+ reusePort: some ( reusePort) ,
77
78
)
78
79
79
80
proc initData (fdKind: FdKind , ip = " " ): Data =
@@ -320,7 +321,7 @@ proc eventLoop(params: (OnRequest, Settings)) =
320
321
321
322
let server = newSocket (settings.domain)
322
323
server.setSockOpt (OptReuseAddr , true )
323
- server.setSockOpt (OptReusePort , settings.reusePort)
324
+ server.setSockOpt (OptReusePort , settings.reusePort. get ( true ) )
324
325
server.bindAddr (settings.port, settings.bindAddr)
325
326
server.listen ()
326
327
server.getFd ().setBlocking (false )
You can’t perform that action at this time.
0 commit comments