Hello, I have tried to build an application with queues in UNIX flavor (using msgget API). I have successfully ran cygwin server and enabled IPC. The program works if I use 2-3 queues to send messages between threads (single thread reads from one queue, multiple threads can write to any queue). Although if I try to create more than 3 queues, the application behaves very strange - some read queue operations (msgrcv without IPC_NOWAIT flag set) fail randomly (returns success even if there is no message in the queue or returns undefined errors).
I also tried to implement my own IPC, without cygwin server IPC. The code, which has been successfully tested on Solaris 5.10 platform and runs there normally, under cygwin fails randomly. I have investigated that the problem is with pthread condition variables and timedout wait: pthread_cond_wait and pthread_cond_timedwait returns undefined values (none of valid error codes). This situation occurs if I operate on many condition variables (more than 3). If I use only 3 condition variables, there is no errors and my IPC works absolutely fine. Best regards, Grzegorz Sikorski Astro Infrastructure VPM QUICC Team +48122988863 grzegorz.sikor...@motorolasolutions.com Motorola Polska Electronics Sp.z.o.o Bobrzynskiego 46, 30-381 Krakow, Poland KRS 0000146875 - Poland VAT No: PL6772135826 Share capital: 4,600,000 PLN Details of Motorola's subsidiaries in the EU/EEA can be found at: v www.motorolasolutions.com/XU-EN/About/Subsidiaries -- 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