pkgsrc-ng/devel/florist/patches/patch-c-posix.c
2013-09-26 17:14:40 +02:00

60 lines
1.6 KiB
C

$NetBSD: patch-c-posix.c,v 1.5 2012/07/09 05:52:14 marino Exp $
--- c-posix.c.orig 2012-05-10 13:32:15.000000000 +0000
+++ c-posix.c
@@ -689,6 +689,25 @@ typedef struct siginfo {
/* sigevent must precede aiocb
*/
+#if defined(__DragonFly__)
+/*
+ * union _sigev_info {
+ * int sigev_signo;
+ * int sigev_notify_kqueue;
+ * void *sigev_notify_attributes;
+ * };
+ * sizeof(union _sigev_info) = sizeof(int)
+ * Use "int" rather than fooling with union
+ * For simplicity, The Ada part is only going to list sigev_signo
+ * as the other two elements of the union are unused.
+ */
+ GT1(sigevent, 1)
+ GT2(sigev_notify, int)
+ GT2(sigev_signo, int)
+ GT2(sigev_value, union sigval)
+ GT2(sigev_notify_function, void (*)(union sigval))
+ GT3
+#else /* __DragonFly__ */
#ifdef HAVE_struct_sigevent
GT1(sigevent, 1)
#else
@@ -711,6 +730,7 @@ struct sigevent {
GT2(sigev_notify_attributes,pthread_attr_t *)
#endif
GT3
+#endif /* __DragonFly__ */
#ifdef HAVE_struct_aiocb
GT1(aiocb, 1)
@@ -5130,9 +5150,9 @@ void create_c() {
*/
#if defined(__APPLE__)
-# define BADSIG 0
+# define FLOR_BADSIG 0
#else
-# define BADSIG (-1)
+# define FLOR_BADSIG (-1)
#endif
{sigset_t set;
int sig;
@@ -5143,7 +5163,7 @@ void create_c() {
for (sig = 0; sig < 1024; sig++) {
result = sigismember (&set, sig);
if (result == 1) last_good = sig;
- else if ((result == BADSIG) && (first_bad = -1)) first_bad = sig;
+ else if ((result == FLOR_BADSIG) && (first_bad = -1)) first_bad = sig;
}
if (last_good == 1023)
printf("c-posix: WARNING: signal range estimate probably too small\n");