On 24/03/2017 18:11, Corinna Vinschen wrote: > Hi Noah, > >> >> On GNU/Linux, AIX, and Solaris, the processes keep busy and finish one million >> lock/unlock cycles apiece in a few minutes. On Cygwin, they hang within a few >> seconds and under one hundred cycles apiece. At that point, cygserver is >> unresponsive to other clients; for example, "strace /bin/true", opening a new >> Cygwin terminal, "cat /proc/sysvipc/sem" and "cygserver -S" all hang. In most >> tests, cygserver was not consuming CPU while unresponsive. > > > I pushed a patchset now, and uploaded new developer snapshots for > testing to https://cygwin.com/snapshots/ > > I'm also going to create a 2.8.0-0.4 test release later today. > > Please give it a try, and please note that *all* patches affect > cygserver itself, so you have to test the new cygserver in the > first place. The Cygwin DLL is not affected by the changes. > > > Thanks, > Corinna > Hi Corinna, just noted a small glitch. Attached a modification of Noah's test, it now accepts the number of workers and semaphore are as before workers/4 ./sema_parallel-2 32 worker .... OK ./sema_parallel-2 64 semget semget: Invalid argument If I restart the cygserver ./sema_parallel-2 64 worker .... OK ./sema_parallel-2 128 semget semget: Invalid argument It seems that the number of max available semaphores is frozen to first call value.