Our program is failing in creating and acquiring lock on the semaphore. Created a test program 'semtest.c'. It is creating the semaphore using the program semaphore.c. Compiled and executed using the latest CYGWIN- 2.4.1. It is failing at line if ((semval = semctl(*id, 1, GETVAL, semctl_arg)) < 0 ) with error no 22. Code for semtest.c and semaphore.c are attached here.