Re: [Chicken-hackers] [PATCH 2/2] Invert poll(2) flag default

2014-08-20 Thread Moritz Heidkamp
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

2014-08-05 Thread Peter Bex
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

2014-08-04 Thread Moritz Heidkamp
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