2b17ab754a
Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
73 lines
1.8 KiB
Diff
73 lines
1.8 KiB
Diff
From: Florian Weimer <fweimer@redhat.com>
|
|
Date: Thu, 24 Nov 2022 11:59:22 +0100
|
|
Subject: [PATCH] configure.ac: C99 fixes for poll_works check
|
|
|
|
Include <fcntl.h> if it is available for the open prototype.
|
|
Return from main instead of calling exit, so that no function
|
|
declaration is needed.
|
|
|
|
diff --git a/erts/configure b/erts/configure
|
|
index 478ebaa206..549b53546c 100755
|
|
--- a/erts/configure
|
|
+++ b/erts/configure
|
|
@@ -24821,10 +24821,13 @@ else $as_nop
|
|
/* end confdefs.h. */
|
|
|
|
#include <poll.h>
|
|
-main()
|
|
+#ifdef HAVE_FCNTL_H
|
|
+#include <fcntl.h>
|
|
+#endif
|
|
+int main()
|
|
{
|
|
#ifdef _POLL_EMUL_H_
|
|
- exit(1); /* Implemented using select() -- fail */
|
|
+ return 1; /* Implemented using select() -- fail */
|
|
#else
|
|
struct pollfd fds[1];
|
|
int fd;
|
|
@@ -24833,9 +24836,9 @@ main()
|
|
fds[0].events = POLLIN;
|
|
fds[0].revents = 0;
|
|
if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
|
|
- exit(1); /* Does not work for devices -- fail */
|
|
+ return 1; /* Does not work for devices -- fail */
|
|
}
|
|
- exit(0);
|
|
+ return 0;
|
|
#endif
|
|
}
|
|
|
|
diff --git a/erts/configure.ac b/erts/configure.ac
|
|
index 0d4d9377ef..296a72bacc 100644
|
|
--- a/erts/configure.ac
|
|
+++ b/erts/configure.ac
|
|
@@ -3068,10 +3068,13 @@ poll_works=no
|
|
|
|
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
|
#include <poll.h>
|
|
-main()
|
|
+#ifdef HAVE_FCNTL_H
|
|
+#include <fcntl.h>
|
|
+#endif
|
|
+int main()
|
|
{
|
|
#ifdef _POLL_EMUL_H_
|
|
- exit(1); /* Implemented using select() -- fail */
|
|
+ return 1; /* Implemented using select() -- fail */
|
|
#else
|
|
struct pollfd fds[1];
|
|
int fd;
|
|
@@ -3080,9 +3083,9 @@ main()
|
|
fds[0].events = POLLIN;
|
|
fds[0].revents = 0;
|
|
if (poll(fds, 1, 0) < 0 || (fds[0].revents & POLLNVAL) != 0) {
|
|
- exit(1); /* Does not work for devices -- fail */
|
|
+ return 1; /* Does not work for devices -- fail */
|
|
}
|
|
- exit(0);
|
|
+ return 0;
|
|
#endif
|
|
}
|
|
]])],[poll_works=yes],[poll_works=no],[
|