This is the mail archive of the
mailing list for the Cygwin project.
Re: AW: HEADSUP: cygserver now has MSG, SEM and SHM support
Ralf Habacker wrote:
Corinna Vinschen wrote:
Ok, I don't know how that's implemented in cygipc so I think it might
be necessary to mention that:
The implementation of the MSG, SEM and SHM functions in Cygwin are so
that if the functions are not available (be it that CYGWIN doesn't
contain the word "server" or Cygserver isn't running) not only set
errno to ENOSYS, but they also raise a SIGSYS.
So it's crucial that your code handles that signal. At least, it
should ignore it (signal(SISYS, SIG_IGN)).
for the Xserver that means, that the shm initialisation code has to be
changed to the detecting code used by FreeBSD and friends
(CheckForShmSyscall() in Xserver/Xext/shm.c and Xserver/Xext/xf86bigfont.c)
The cygipc-related stuff could then be removed in both files.
Actually, I solved the problem in the same manner that the *BSD
platforms used. There is nothing specific to Cygwin in the code and we
trap the signal just like they do (even though it wasn't thrown in our
implementation until now).
Thus, nothing should need to be changed when we switch to cygserver.
Here is the version of shm.c that got committed: