On Apr 18 13:34, bob 295 wrote: > (I'm in digest mode on this list so I can't thread my response easily.) > > The cygserver is setup to run as a Windows service. As far as I can tell the > cygserver is running when the error occurs. What isn't clear from your > response is what causes the named pipe to cygserver to get created? What > tears it down?
Every single request to cygserver is basically a closed operation. A function call like shmget opens the pipe, writes a request block, reads the reply from cygserver and closes the pipe. > > In my test the sequence of each Send/Receive/Reply message pass involves > these > steps: > 1) the sender creates the shared memory and then attaches to for the purpose > of writing a message. > 2) The receiver gets passed the shmid (via a named pipe) and attaches for the > purpose of reading the message. > 3) The receiver will respond by writing into same shared memory area upon > which it will detach. Wouldn't it be simpler to use POSIX shared memory for that? shm_open allows to specify a named shared memory which all applications of a project can share without having to use IPC to transmit the name (aka "shmid") of the shared region. On Cygwin it also drops the requirement to use cygserver. > I have a script which is repeatedly sending a 1k message (up to 10 times). > The error isn't consistently happening but when it does it appears to happen > on the first message pass. If you could create a very simple, self-contained testscase in plain C, I'd take a look. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- 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