This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: what does this cygserver error mean?
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Mon, 18 Apr 2011 21:26:00 +0200
- Subject: Re: what does this cygserver error mean?
- References: <201104181334.02386.icanprogram@295.ca>
- Reply-to: cygwin at cygwin dot com
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