support: Fix support_set_small_thread_stack_size to build on Hurd
authorFlorian Weimer <fweimer@redhat.com>
Tue, 12 Nov 2019 19:04:36 +0000 (20:04 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Wed, 13 Nov 2019 13:10:11 +0000 (14:10 +0100)
PTHREAD_STACK_MIN comes from <limits.h>, so include it explicitly.
However, it is not defined on Hurd, so compensate for that as well.

Built on x86_64-linux-gnu, i686-linux-gnu, i686-gnu.

Change-Id: Ifacc888ef86731c2639721b0932ae59583bd6b3e
Reviewed-by: Christian Brauner <christian.brauner@ubuntu.com>
support/support_set_small_thread_stack_size.c

index 23189fd..32954ec 100644 (file)
@@ -16,9 +16,9 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <limits.h>
 #include <pthread.h>
 #include <support/xthread.h>
-#include <sys/param.h>
 
 void
 support_set_small_thread_stack_size (pthread_attr_t *attr)
@@ -26,5 +26,10 @@ support_set_small_thread_stack_size (pthread_attr_t *attr)
   /* Some architectures have too small values for PTHREAD_STACK_MIN
      which cannot be used for creating threads.  Ensure that the stack
      size is at least 256 KiB.  */
-  xpthread_attr_setstacksize (attr, MAX (256 * 1024, PTHREAD_STACK_MIN));
+  size_t stack_size = 256 * 1024;
+#ifdef PTHREAD_STACK_MIN
+  if (stack_size < PTHREAD_STACK_MIN)
+    stack_size = PTHREAD_STACK_MIN;
+#endif
+  xpthread_attr_setstacksize (attr, stack_size);
 }