From 299d525fe2a9f60279a03c56f460b31b9cb7ad6b Mon Sep 17 00:00:00 2001 From: bung87 Date: Sun, 30 Jul 2023 23:24:42 +0800 Subject: [PATCH] use joinThreads avoiding #80 --- src/httpbeast.nim | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/httpbeast.nim b/src/httpbeast.nim index 5b4c9d4..2bb9fae 100644 --- a/src/httpbeast.nim +++ b/src/httpbeast.nim @@ -537,17 +537,19 @@ proc run*(onRequest: OnRequest, settings: Settings) = let numThreads = 1 echo("Starting ", numThreads, " threads") + echo("Listening on port ", settings.port) # This line is used in the tester to signal readiness. if numThreads > 1: when compileOption("threads"): - var threads = newSeq[Thread[(OnRequest, Settings, bool)]](numThreads - 1) + var threads = newSeq[Thread[(OnRequest, Settings, bool)]](numThreads) for t in threads.mitems(): createThread[(OnRequest, Settings, bool)]( t, eventLoop, (onRequest, settings, false) ) + joinThreads(threads) else: assert false - echo("Listening on port ", settings.port) # This line is used in the tester to signal readiness. - eventLoop((onRequest, settings, true)) + else: + eventLoop((onRequest, settings, true)) proc run*(onRequest: OnRequest) {.inline.} = ## Starts the HTTP server with default settings. Calls `onRequest` for each