On Tue, Aug 03, 2004 at 12:06:12PM +0200, Corinna Vinschen wrote: > On Aug 2 20:33, sarbx-cygwin6344@mailblocks.com wrote: > > This time around, cygserver does not eat CPU. But after 5 to 6 > > concurrent > > connections nothing seem to work, looks kind of hung. There is no > > activity in the Postgres > > log file. Opening a new database connection also hangs. There is no > > activity on the machine. > Any chance to create a simple testcase which uncovers that behaviour > without involving a whole database system? Attached test program reproduces it on Cygwin 2.7.0, Cygwin 1.7.5, and a few intermediate versions. The program creates sixteen processes that each perform a tight loop over the following: - select one of four semaphores - reduce semaphore's value from 1 to 0 ("lock" it) - raise semaphore's value from 0 to 1 ("unlock" it) 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. Thanks, nm