Date: Fri, 15 Oct 1999 17:07:37 +0200 From: Marcel Moolenaar <marcel@scc.nl> To: Mark Murray <mark@grondar.za> Cc: current@freebsd.org, Sheldon Hearn <sheldonh@uunet.co.za>, gmarco@giovannelli.it Subject: Re: <signal.h> still broken? Message-ID: <38074339.CCAF4B5F@scc.nl> References: <199910151254.OAA17164@gratis.grondar.za>
next in thread | previous in thread | raw e-mail | index | archive | help
Mark Murray wrote: > > Hi > > I am getting this breakage when I try to compile XFree86 on a really > current system: > > cc -c -O2 -ansi -pedantic -Dasm=__asm -I../../include/fonts -I../.. -I../../exports/include -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -DMALLOC_0_RETURNS_NULL -DTCPCONN -DUNIXCONN -DHAS_STICKY_DIR_BIT -DFS_t -DTRANS_CLIENT -DBSD44SOCKETS FSConnServ.c > In file included from /usr/include/sys/param.h:90, > from ../../exports/include/X11/Xpoll.h:66, > from FSConnServ.c:58: > /usr/include/sys/signal.h:212: syntax error before `siginfo_t' > In file included from /usr/include/sys/param.h:90, > from ../../exports/include/X11/Xpoll.h:66, > from FSConnServ.c:58: > /usr/include/sys/signal.h:285: field `sigev_value' has incomplete type > *** Error code 1 Apply the following patch to /usr/include/sys/signal.h. I want to make sure it doesn't break a kernel or world or adds namespace pollution or whatever before I commit this. In case of problems, yell! --- /sys/sys/signal.h Fri Oct 15 16:58:52 1999 +++ /usr/include/sys/signal.h Fri Oct 15 16:55:55 1999 @@ -131,6 +131,15 @@ void *sigval_ptr; }; +struct sigevent { + int sigev_notify; /* Notification type */ + int sigev_signo; /* Signal number */ + union sigval sigev_value; /* Signal value */ +}; + +#define SIGEV_NONE 0 /* No async notification */ +#define SIGEV_SIGNAL 1 /* Generate a queued signal */ + typedef struct __siginfo { int si_signo; /* signal number */ int si_errno; /* errno association */ @@ -209,7 +218,7 @@ /* Additional FreeBSD values. */ #define SI_UNDEFINED 0 -typedef void __siginfohandler_t __P((int, siginfo_t *, void *)); +typedef void __siginfohandler_t __P((int, struct __siginfo *, void *)); typedef __sighandler_t *sig_t; /* type of pointer to a signal function */ @@ -277,17 +286,6 @@ #define SIG_BLOCK 1 /* block specified signal set */ #define SIG_UNBLOCK 2 /* unblock specified signal set */ #define SIG_SETMASK 3 /* set specified signal set */ - -#ifndef _POSIX_SOURCE -struct sigevent { - int sigev_notify; /* Notification type */ - int sigev_signo; /* Signal number */ - union sigval sigev_value; /* Signal value */ -}; - -#define SIGEV_NONE 0 /* No async notification */ -#define SIGEV_SIGNAL 1 /* Generate a queued signal */ -#endif #endif /* !_ANSI_SOURCE */ -- Marcel Moolenaar mailto:marcel@scc.nl SCC Internetworking & Databases http://www.scc.nl/ The FreeBSD project mailto:marcel@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?38074339.CCAF4B5F>