Skip site navigation (1)Skip section navigation (2)
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>