X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=0.9 required=5.0 tests=BAYES_50,TW_SG X-Spam-Check-By: sourceware.org X-VirusChecked: Checked X-Env-Sender: grzegorz DOT sikorski AT motorolasolutions DOT com X-Msg-Ref: server-15.tower-161.messagelabs.com!1302864549!36076701!1 X-StarScan-Version: 6.2.9; banners=-,-,- Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: IPC and pthread condition variable bug Date: Fri, 15 Apr 2011 11:48:45 +0100 Message-ID: <1F22C5AA2CC2C14F943CBEAAF3E385D4020C6A4E@zuk35exm66.ds.mot.com> From: "Sikorski Grzegorz-VBFM67" To: X-CFilter-Loop: Reflected Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Hello, I have tried to build an application with queues in UNIX flavor (using msgg= et 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 rando= mly (returns success even if there is no message in the queue or returns un= defined 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 a= nd pthread_cond_timedwait returns undefined values (none of valid error cod= es). This situation occurs if I operate on many condition variables (more t= han 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 DOT sikorski AT motorolasolutions DOT com =A0 Motorola Polska Electronics=A0 Sp.z.o.o Bobrzynskiego 46,=20 30-381 Krakow, Poland KRS 0000146875 - Poland VAT No: PL6772135826 Share capital: 4,600,000 PLN=A0=20 Details of Motorola's subsidiaries in the EU/EEA can be found at: v www.mot= orolasolutions.com/XU-EN/About/Subsidiaries=20 =20 -- 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