Hi Saúl, I tried as you suggested by not using uv_work_queue and doing just uv_write on the read callback and then hammering with thousand connections and requests. It works absolutely perfect and I also get other callbacks (after_write, TTY callback)
Ok, so the problem seems to come from the threadpool thing then.
( However, the echo server is just for test purpose. In production scenario I have to have worker threads to do CPU bound processing on all incoming requests before I send results to client(s) )
I see.
Now I still didn't get any clue, with massive incoming requests from thousands of clients, after doing uv_work_queue calls why only read callback works and other are inactive?
Looks like the after work callbacks are not getting called for some reason. I'm no windows expert, and I don't see any obvious bug in the windows code, so I really have no clue here :-S
Maybe using the same threadpool for Windows (using the one we have for Unix, that is) would be better. Have a look at this issue comment: https://github.com/joyent/libuv/issues/649#issuecomment-14726848
It shouldn't be difficult to port the Unix threadpool to Windows, but AFAIK no one is working on it at the moment.
Cheers, -- Saúl Ibarra Corretgé bettercallsaghul.com -- You received this message because you are subscribed to the Google Groups "libuv" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/libuv. For more options, visit https://groups.google.com/groups/opt_out.
