delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/04/18/15:27:27

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Mon, 18 Apr 2011 21:26:00 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: what does this cygserver error mean?
Message-ID: <20110418192600.GI25815@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <201104181334 DOT 02386 DOT icanprogram AT 295 DOT ca>
MIME-Version: 1.0
In-Reply-To: <201104181334.02386.icanprogram@295.ca>
User-Agent: Mutt/1.5.21 (2010-09-15)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019