This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sysV IPC and SHM


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/command.com/cmd.exe)
but it will work from within a cygwin process too.

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

How?
There are several things that can help get this code to the light of
day.
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.

Cheers,
Rob

Attachment: exportipc.patch
Description: Binary data

Attachment: key_t.patch
Description: Binary data

Attachment: ipctest-0.1.2.tar.gz
Description: GNU Zip compressed data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]