semget() returns EAGAIN?

Lavrentiev, Anton (NIH/NLM/NCBI) [C] via cygwin cygwin@cygwin.com
Wed Aug 7 05:02:00 GMT 2019


I'm noticing that in a high-contention situation (many processes try to get ahold of a semaphore) semget() on Cygwin starts to return EAGAIN (try again) after about 62 processes has gotten to call semget() and are actively competing for the semaphore (i.e. using the semaphore ID semget() returned to them).

EAGAIN is not documented in any of semget() API documentation that I can find.

I understand that in Cygwin semget() is implemented as a connection to cygserver, and the error probably stems from there, but I don't think that such a code is appropriate as a final errno.  And why is there a limit, to begin with?  What exactly imposes it?

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list