summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_local_lim.h5
-rw-r--r--libpthread/linuxthreads.old/semaphore.h3
-rw-r--r--libpthread/linuxthreads/semaphore.h3
3 files changed, 10 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_local_lim.h b/libc/sysdeps/linux/common/bits/uClibc_local_lim.h
index 832051cd7..0727ebf55 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_local_lim.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_local_lim.h
@@ -20,7 +20,10 @@
/* glibc uses 16384 */
# define PTHREAD_THREADS_MAX 1024
# define TIMER_MAX 256
-# undef SEM_VALUE_MAX
+# ifdef __LINUXTHREADS_OLD__
+# undef SEM_VALUE_MAX
+# define SEM_VALUE_MAX ((int) ((~0u) >> 1))
+# endif
# undef PTHREAD_STACK_MIN
/* glibc uses at least 16364 */
# define PTHREAD_STACK_MIN 1024
diff --git a/libpthread/linuxthreads.old/semaphore.h b/libpthread/linuxthreads.old/semaphore.h
index fea127b1e..c5ff6a038 100644
--- a/libpthread/linuxthreads.old/semaphore.h
+++ b/libpthread/linuxthreads.old/semaphore.h
@@ -17,6 +17,7 @@
#include <features.h>
#include <sys/types.h>
+#include <limits.h>
#ifdef __USE_XOPEN2K
# define __need_timespec
# include <time.h>
@@ -42,7 +43,9 @@ typedef struct
#define SEM_FAILED ((sem_t *) 0)
/* Maximum value the semaphore can have. */
+#ifndef SEM_VALUE_MAX
#define SEM_VALUE_MAX ((int) ((~0u) >> 1))
+#endif
__BEGIN_DECLS
diff --git a/libpthread/linuxthreads/semaphore.h b/libpthread/linuxthreads/semaphore.h
index 3084209f6..f9ad4c536 100644
--- a/libpthread/linuxthreads/semaphore.h
+++ b/libpthread/linuxthreads/semaphore.h
@@ -17,6 +17,7 @@
#include <features.h>
#include <sys/types.h>
+#include <limits.h>
#ifdef __USE_XOPEN2K
# define __need_timespec
# include <time.h>
@@ -42,7 +43,9 @@ typedef struct
#define SEM_FAILED ((sem_t *) 0)
/* Maximum value the semaphore can have. */
+#ifndef SEM_VALUE_MAX
#define SEM_VALUE_MAX (2147483647)
+#endif
__BEGIN_DECLS