sysV IPC and SHM

Robert Collins
Sun Mar 3 14:15:00 GMT 2002

With the recent merge of the daemon code, there is now nascent sysV IPC
and SHM code in cygwin - but it will be inactive by default (Well, other
than ipc.h and shm.h (sinking feeling as I just realised this - Chris,
can we filter those two files out of the binary distribution easily?))

This email describes how to enable the IPC and SHM code, should you
choose to, and how to contribute to it. It's cross posted deliberately,
as there is developer-specific and package-maintainer-specific interest
in here.

Enabling the code.
1) Apply the two patches attached here to newlib/libc/include (key_t)
and cygwin (exportipc). Without the first, key_t operations will not
marshal correctly, and without the second, the import library will be
missing the sysV exports.

2) rebuild newlib and cygwin (just make, not make clean). This is
required to grab the new key_t length. If you already have that patch,
then the only change is the new exports - which only affects libcygwin.a

3) follow your normal process for installing cygwin - make install
followed by copy/make a package and install that... whatever. Don't
forget to grab cygserver.exe as well.

4) Start cygserver (preferrably via double clicking/
but it will work from within a cygwin process too.

So you can help test/contribute to it of course!

There are several things that can help get this code to the light of
1) Extend the ipc test suite I've been brewing. I'll happily turn it
into a package and accept patches, or put it's source CVS on cygapps or
somewhere similar should folk want direct access to it. More tests are
always needed, preferrably tested on linux/bsd/solaris etc.

2) Extend the cygwin1.dll and cygserver code that implements the ipc
functions to be more complete/resilient/fast - whatever :].

3) Become a bleeding edge adopter - use the existing code for some
project and provide feedback - preferrably feedback that lets us write
test cases.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: exportipc.patch
Type: application/octet-stream
Size: 398 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: key_t.patch
Type: application/octet-stream
Size: 500 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipctest-0.1.2.tar.gz
Type: application/x-gzip
Size: 49331 bytes
Desc: not available
URL: <>

More information about the Cygwin-developers mailing list