It's either your code, or your nim version. I'm using 1.5x and a MWE test 
passed for me.
    
    
    import asynchttpserver, asyncdispatch
    
    var server = newAsyncHttpServer()
    proc cb(req: Request) {.async.} =
      await req.respond(Http200, "Hello World")
    
    var t:Thread[int32]
    
    proc handleThread(i:int32) {.thread.} =
        echo "hi from thread"
    
    proc ctrl_c_handler() {.noconv.} =
        echo "ctrl-c hook invoked"
        joinThread(t)
        quit 0
    
    proc init =
        setControlCHook(ctrl_c_handler)
    
    proc main =
        createThread(t, handleThread, int32(0)) # define elsewhere
        waitFor server.serve(Port(9090), cb)
    
    init()
    main()
    
    
    Run

Reply via email to