Re: [Chicken-hackers] [PATCH 2/2] Invert poll(2) flag default
HI Peter, Peter Bex writes: > This seems like a good idea. However, could you also swap the two > code blocks? A double negation (#ifndef NO_...) can be confusing, and > by making it read "#ifdef NO_POSIX_POLL" (I'd probably drop the > HAVE_ prefix, as that's more idiomatic AFAICT), it becomes a little > clearer. you are right--my intention was to make the patch as non-invasive as possible so its purpose is obvious. Now that the purpose should be clear, find attached an updated version which swaps the code blocks to avoid the double negation. I also dropped the HAVE_ prefix as per your suggestion, I didn't see the other flags names like that. Thanks for the hint! Moritz >From 27097791ee5de99d52d513858b10d4e43ce0e33b Mon Sep 17 00:00:00 2001 From: Moritz Heidkamp Date: Mon, 4 Aug 2014 15:23:13 +0200 Subject: [PATCH] Invert poll(2) flag default To be on the safe side we now assume that poll(2) is available by default and define the NO_POSIX_POLL flag in case it isn't available on a platform. --- Makefile.aix | 1 - Makefile.android | 1 - Makefile.bsd | 1 - Makefile.cross-linux-mingw | 1 + Makefile.cygwin| 1 - Makefile.haiku | 1 - Makefile.hurd | 1 - Makefile.ios | 1 - Makefile.linux | 1 - Makefile.macosx| 1 - Makefile.mingw | 1 + Makefile.mingw-msys| 1 + Makefile.solaris | 1 - runtime.c | 14 ++-- scheduler.scm | 54 +++--- 15 files changed, 37 insertions(+), 44 deletions(-) diff --git a/Makefile.aix b/Makefile.aix index 68b33b7..72e9715 100644 --- a/Makefile.aix +++ b/Makefile.aix @@ -74,7 +74,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ diff --git a/Makefile.android b/Makefile.android index ac72ee8..819587f 100644 --- a/Makefile.android +++ b/Makefile.android @@ -69,7 +69,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ diff --git a/Makefile.bsd b/Makefile.bsd index af28814..c69ea35 100644 --- a/Makefile.bsd +++ b/Makefile.bsd @@ -72,7 +72,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_SIGPROCMASK 1" >>$@ diff --git a/Makefile.cross-linux-mingw b/Makefile.cross-linux-mingw index 32a6f2f..6e4c34a 100644 --- a/Makefile.cross-linux-mingw +++ b/Makefile.cross-linux-mingw @@ -95,6 +95,7 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ + echo "#define NO_POSIX_POLL 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ echo "#define HAVE_STDLIB_H 1" >>$@ echo "#define HAVE_STRERROR 1" >>$@ diff --git a/Makefile.cygwin b/Makefile.cygwin index 376f6b8..f499c90 100644 --- a/Makefile.cygwin +++ b/Makefile.cygwin @@ -89,7 +89,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ echo "#define HAVE_STDLIB_H 1" >>$@ diff --git a/Makefile.haiku b/Makefile.haiku index a1f5841..7eeec26 100644 --- a/Makefile.haiku +++ b/Makefile.haiku @@ -66,7 +66,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_SIGPROCMASK 1" >>$@ diff --git a/Makefile.hurd b/Makefile.hurd index 6a97db6..d2f9a1f 100644 --- a/Makefile.hurd +++ b/Makefile.hurd @@ -67,7 +67,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_SIGPROCMASK 1" >>$@ diff --git a/Makefile.ios b/Makefile.ios index 6f82e00..6c99c47 100644 --- a/Makefile.ios +++ b/Makefile.ios @@ -73,7 +73,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ ech
Re: [Chicken-hackers] [PATCH 2/2] Invert poll(2) flag default
On Mon, Aug 04, 2014 at 06:10:46PM +0200, Moritz Heidkamp wrote: > The attached patch is a follow-up to my previous patch (the one which > enables poll(2) on Android). It inverts the HAVE_POSIX_POLL flag to > HAVE_NO_POSIX_POLL which only needs to be set when poll(2) is *not* > available rather than the other way around. The purpose is to make the > safe choice the default. This seems like a good idea. However, could you also swap the two code blocks? A double negation (#ifndef NO_...) can be confusing, and by making it read "#ifdef NO_POSIX_POLL" (I'd probably drop the HAVE_ prefix, as that's more idiomatic AFAICT), it becomes a little clearer. Cheers, Peter -- http://www.more-magic.net ___ Chicken-hackers mailing list Chicken-hackers@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-hackers
[Chicken-hackers] [PATCH 2/2] Invert poll(2) flag default
The attached patch is a follow-up to my previous patch (the one which enables poll(2) on Android). It inverts the HAVE_POSIX_POLL flag to HAVE_NO_POSIX_POLL which only needs to be set when poll(2) is *not* available rather than the other way around. The purpose is to make the safe choice the default. Since this is merely intended to make future changes less likely to accidentally disable poll(2) it doesn't need to be included in the stability branch. I've tested the patch on Linux x86_64 only. Even though it's a rather trivial patch it would probably be good to also test this on at least one of the Windows platforms just in case. Any takers? Thanks to Florian Zumbiehl for the idea for this patch. Moritz -- bevuta IT GmbH - professionelle IT-Lösungen Marktstraße 10 | http://www.bevuta.com/ | HRB 62476 AG Köln 50968 Köln | Tel.: +49 221 282678-0 | Geschäftsführer: Pablo Beyen >From 05a5743437e255ca3402b8a56ec69c1d6b2b8f90 Mon Sep 17 00:00:00 2001 From: Moritz Heidkamp Date: Mon, 4 Aug 2014 15:23:13 +0200 Subject: [PATCH 2/2] Invert poll(2) flag default To be on the safe side we now assume that poll(2) is available by default and define the HAVE_NO_POSIX_POLL flag in case it isn't available on a platform. --- Makefile.aix | 1 - Makefile.android | 1 - Makefile.bsd | 1 - Makefile.cross-linux-mingw | 1 + Makefile.cygwin| 1 - Makefile.haiku | 1 - Makefile.hurd | 1 - Makefile.ios | 1 - Makefile.linux | 1 - Makefile.macosx| 1 - Makefile.mingw | 1 + Makefile.mingw-msys| 1 + Makefile.solaris | 1 - runtime.c | 4 ++-- scheduler.scm | 2 +- 15 files changed, 6 insertions(+), 13 deletions(-) diff --git a/Makefile.aix b/Makefile.aix index 68b33b7..72e9715 100644 --- a/Makefile.aix +++ b/Makefile.aix @@ -74,7 +74,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ diff --git a/Makefile.android b/Makefile.android index ac72ee8..819587f 100644 --- a/Makefile.android +++ b/Makefile.android @@ -69,7 +69,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ diff --git a/Makefile.bsd b/Makefile.bsd index af28814..c69ea35 100644 --- a/Makefile.bsd +++ b/Makefile.bsd @@ -72,7 +72,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_SIGPROCMASK 1" >>$@ diff --git a/Makefile.cross-linux-mingw b/Makefile.cross-linux-mingw index 32a6f2f..d8951eb 100644 --- a/Makefile.cross-linux-mingw +++ b/Makefile.cross-linux-mingw @@ -95,6 +95,7 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ + echo "#define HAVE_NO_POSIX_POLL 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ echo "#define HAVE_STDLIB_H 1" >>$@ echo "#define HAVE_STRERROR 1" >>$@ diff --git a/Makefile.cygwin b/Makefile.cygwin index 376f6b8..f499c90 100644 --- a/Makefile.cygwin +++ b/Makefile.cygwin @@ -89,7 +89,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_STDINT_H 1" >>$@ echo "#define HAVE_STDLIB_H 1" >>$@ diff --git a/Makefile.haiku b/Makefile.haiku index a1f5841..7eeec26 100644 --- a/Makefile.haiku +++ b/Makefile.haiku @@ -66,7 +66,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_SIGPROCMASK 1" >>$@ diff --git a/Makefile.hurd b/Makefile.hurd index 6a97db6..d2f9a1f 100644 --- a/Makefile.hurd +++ b/Makefile.hurd @@ -67,7 +67,6 @@ chicken-config.h: chicken-defaults.h echo "#define HAVE_LONG_LONG 1" >>$@ echo "#define HAVE_MEMMOVE 1" >>$@ echo "#define HAVE_MEMORY_H 1" >>$@ - echo "#define HAVE_POSIX_POLL 1" >>$@ echo "#define HAVE_SIGACTION 1" >>$@ echo "#define HAVE_SIGSETJMP 1" >>$@ echo "#define HAVE_SIGPROCMASK 1" >>$@ diff --git a/Makefile.ios b/Makefile.ios index 6f8