After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 110151 - sigignore() doesn't exist on Mac OS X
sigignore() doesn't exist on Mac OS X
Status: RESOLVED FIXED
Product: Pan
Classification: Other
Component: general
0.13.4
Other Mac OS
: High major
: 0.14.0
Assigned To: Charles Kerr
Pan QA Team
Depends on:
Blocks:
 
 
Reported: 2003-04-07 02:14 UTC by Nathan Robertson
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.1/2.2



Description Nathan Robertson 2003-04-07 02:14:40 UTC
It appears that the sigignore() function used in pan/signals.c doesn't
exist on the Mac platform. See below (reality is a mac, indigo is a PC
running Linux).

[nathanr@reality pan-0.13.4]$ grep -r sigignore /usr/include
grep: warning: /usr/include/gcc/darwin/2.95.2/g++/std: recursive directory loop
/usr/include/sys/proc.h:        sigset_t p_sigignore;   /* Signals being
ignored. */
/usr/include/sys/proc.h:        sigset_t p_sigignore;   /* Signals being
ignored. */
[nathanr@reality pan-0.13.4]$

nathanr@indigo:~$ grep -r sigignore /usr/include
/usr/include/signal.h:extern int sigignore (int __sig) __THROW;
nathanr@indigo:~$
Comment 1 Charles Kerr 2003-04-07 23:06:09 UTC
I've sent mail to Fink's Pan maintainer, Max Horn, to see if
sigignore is perhaps in a different header on OS/X.  IIRC OS/X
is a *BSD, so I'd be surprised if sigignore() really doesn't
exist there.
Comment 2 Charles Kerr 2003-04-08 12:15:29 UTC
And Max Replied:

Hrm, sorry, I should have told you when I packaged 0.13.4. Yes, it is
actually missing. I already filed a POSIX compliance bug report to
Apple (they do not strive to be 100% POSIX compliant, but if it's easy
to get it, then why not <g>). However, "emulating" sigignore()
is quite easy, you can just do a "signal(sig, SIG_IGN)" (which
I did in the patch I applied for the Fink package. See also
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/fink/dists/10.2/
unstable/main/finkinfo/net/pan-0.13.4-1.patch?rev=1.1&content-
type=text/vnd.viewcvs-markup

There are a few other such goofs; in some cases stuff is really only
missing from the headers, but here, the symbol is not defined in the
system lib.

Hence, as a workaround, a configure check for the presence of
"sigignore" might be advisable, and then using replacement code if its
missing. I am positive that Apple will fix this buglet in the not to
distant future, but until then, Pan would not compile out of the box
on Mac OS X.

Cheers,
                                                                     
          
Max
Comment 3 Charles Kerr 2003-04-08 20:15:22 UTC
Fixed in CVS:

http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan&command=DIFF_FRAMESET&file=ANNOUNCE.html&rev1=1.114&rev2=1.115&root=/cvs/gnome
http://cvs.gnome.org/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&subdir=pan/pan&command=DIFF_FRAMESET&file=sockets.c&rev1=1.112&rev2=1.113&root=/cvs/gnome

BTW, if either you or Max care to pass the other build
warnings/errors along via new bug reports I'll try to 
get them fixed in the main codebase so that Fink doesn't
have to apply OS/X-centric patches.