X-Spam-Check-By: sourceware.org
Message-ID: <45E864DF.1060307@cwilson.fastmail.fm>
Date: Fri, 02 Mar 2007 12:54:39 -0500
From: Charles Wilson <cygwin@cwilson.fastmail.fm>
User-Agent: Thunderbird 1.5.0.9 (Windows/20061207)
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: Difference Between CYGIPC And CYGServer
References: <20070302072040.4542.qmail@web7611.mail.in.yahoo.com>
In-Reply-To: <20070302072040.4542.qmail@web7611.mail.in.yahoo.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

neo napster wrote:
> I have a few queries regarding cygserver and cygipc. 
> what will be the impact to move from cygipc to cygserver? 
> I have some systems programs which make calls to the CYGIPC, 
> since these programs are coded long back.
> 
> Can you please give us an idea of the things that need to be done 
> to move from cygipc to cygserver. Our programs are coded in C.

Both provide (some) of the standard IPC calls.  Both cygipc and 
cygserver implement the BSD interfaces for shared memory, semaphores, 
and message queues. (In cygwin-1.7.0+, cygserver will also implement 
POSIX-compliant shared memory objects and message queues).

cygipc is practically unmaintained -- and the code quality is, er, less 
than ideal.  cygserver is actively maintained and coded to a much higher 
standard.

Since both, today, implement the same BSD-derived interface[see (4), 
below], to move from one to the other, you should simply

(1) stop using -I/usr/include/cygipc in your build
(1) stop using -lcygipc2 in your build
(3) don't run ipc-daemon2.exe; instead, run /usr/bin/cygserver-config 
and follow the instructions.
(4) remove calls to
       cygipc_set_err_handler
       cygipc_get_err_handler
       cygipc_set_debug
       cygipc_get_debug
       cygipc_tracing_enabled
    cygserver uses Win32 event logging for error and debug handling, so
    these hacks provided by cygipc are unnecessary.

--
Chuck

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

