Jason Rumney <[EMAIL PROTECTED]> writes: > Juanma Barranquero <[EMAIL PROTECTED]> writes: > >> (A question for process-savvy people) >> >> It seems like >> >>> (make-network-process :name "test" :server t :service t) >> >> on Windows makes the server process to call server_accept_connection() >> continuously (in a 2.8 GHz Pentium IV I've measured around 10,200 >> calls in 3,5 s, almost 2,900 calls per second). It's no wonder Emacs >> is munching 50% CPU. >> >> Any idea why that can be happening? > > Probably a bug in sys_select() in w32proc.c
I investigate it a little bit and found that it seems that w32 server sockets must use WSAAsyncSelect + FD_ACCEPT to request notifications of incoming connections -- but exactly how that is done is not for me to look at... In its current form, it sys_select says the socket is ready, so we call server_accept_connection which again calls accept() which returns -1 with errno == WSAEWOULDBLOCK (10035) indicating that there is no pending connection to accept. Can somebody pls. look into doing this the right way? -- Kim F. Storm <[EMAIL PROTECTED]> http://www.cua.dk _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel