in reply to Re^10: threads + sockets stalling question
in thread threads + sockets stalling question
Whenever I said accept, I meant Perl's accept. I didn't mean to imply there was a problem with the CRT. There's a problem with how Perl serializes access to the CRT. (At least I presume it's Perl that does the serializing.)
Granted, at first I thought it was a global lock, but it appears to be much finer grained than that. Perl's accept will not block all stat operations, just those on the socket passed to accept.
Is that necessary, or can something be done about it? Why isn't linux affected? I don't know.
But given that OS conditional code is spread throughout the entire code base, it'll take someone clever than me to find it.
The lock appears to be specific to a handle or descriptor. I would start by finding out which, then finding out where the lock is stored in the relevant structure, then find out what uses the lock.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^12: threads + sockets stalling question
by BrowserUk (Patriarch) on Mar 19, 2010 at 01:23 UTC |