This is the mail archive of the cygwin-apps@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]

Re: AW: HEADSUP: cygserver now has MSG, SEM and SHM support


Ralf,

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)).


Harold


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:

<http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/Xext/shm.c\
?rev=3.39&content-type=text/x-cvsweb-markup>

Harold


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