(PTHREAD_THREADS_MAX): Bump to 16384.
[kopensolaris-gnu/glibc.git] / linuxthreads / sysdeps / unix / sysv / linux / bits / local_lim.h
1 /* Minimum guaranteed maximum values for system limits.  Linux version.
2    Copyright (C) 1993,94,95,96,97,98,2000,2002 Free Software Foundation, Inc.
3    This file is part of the GNU C Library.
4
5    The GNU C Library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public License as
7    published by the Free Software Foundation; either version 2.1 of the
8    License, or (at your option) any later version.
9
10    The GNU C Library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14
15    You should have received a copy of the GNU Lesser General Public
16    License along with the GNU C Library; see the file COPYING.LIB.  If not,
17    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
18    Boston, MA 02111-1307, USA.  */
19
20 /* The kernel header pollutes the namespace with the NR_OPEN symbol
21    and defines LINK_MAX although filesystems have different maxima.  A
22    similar thing is true for OPEN_MAX: the limit can be changed at
23    runtime and therefore the macro must not be defined.  Remove this
24    after including the header if necessary.  */
25 #ifndef NR_OPEN
26 # define __undef_NR_OPEN
27 #endif
28 #ifndef LINK_MAX
29 # define __undef_LINK_MAX
30 #endif
31 #ifndef OPEN_MAX
32 # define __undef_OPEN_MAX
33 #endif
34
35 /* The kernel sources contain a file with all the needed information.  */
36 #include <linux/limits.h>
37
38 /* Have to remove NR_OPEN?  */
39 #ifdef __undef_NR_OPEN
40 # undef NR_OPEN
41 # undef __undef_NR_OPEN
42 #endif
43 /* Have to remove LINK_MAX?  */
44 #ifdef __undef_LINK_MAX
45 # undef LINK_MAX
46 # undef __undef_LINK_MAX
47 #endif
48 /* Have to remove OPEN_MAX?  */
49 #ifdef __undef_OPEN_MAX
50 # undef OPEN_MAX
51 # undef __undef_OPEN_MAX
52 #endif
53
54 /* The number of data keys per process.  */
55 #define _POSIX_THREAD_KEYS_MAX  128
56 /* This is the value this implementation supports.  */
57 #define PTHREAD_KEYS_MAX        1024
58
59 /* Controlling the iterations of destructors for thread-specific data.  */
60 #define _POSIX_THREAD_DESTRUCTOR_ITERATIONS     4
61 /* Number of iterations this implementation does.  */
62 #define PTHREAD_DESTRUCTOR_ITERATIONS   _POSIX_THREAD_DESTRUCTOR_ITERATIONS
63
64 /* The number of threads per process.  */
65 #define _POSIX_THREAD_THREADS_MAX       64
66 /* This is the value this implementation supports.  */
67 #define PTHREAD_THREADS_MAX     16384
68
69 /* Maximum amount by which a process can descrease its asynchronous I/O
70    priority level.  */
71 #define AIO_PRIO_DELTA_MAX      20
72
73 /* Minimum size for a thread.  We are free to choose a reasonable value.  */
74 #define PTHREAD_STACK_MIN       16384
75
76 /* Maximum number of POSIX timers available.  */
77 #define TIMER_MAX       256
78
79 /* Maximum number of timer expiration overruns.  */
80 #define DELAYTIMER_MAX  2147483647