Skip to content

Commit e7bd229

Browse files
committed
A few more POSIX defs for threads.
1 parent 6d15366 commit e7bd229

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed

lib/libc/gen/sysconf.c

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $NetBSD: sysconf.c,v 1.29 2008/04/09 18:37:04 njoly Exp $ */
1+
/* $NetBSD: sysconf.c,v 1.30 2008/06/24 14:06:55 ad Exp $ */
22

33
/*-
44
* Copyright (c) 1993
@@ -37,7 +37,7 @@
3737
#if 0
3838
static char sccsid[] = "@(#)sysconf.c 8.2 (Berkeley) 3/20/94";
3939
#else
40-
__RCSID("$NetBSD: sysconf.c,v 1.29 2008/04/09 18:37:04 njoly Exp $");
40+
__RCSID("$NetBSD: sysconf.c,v 1.30 2008/06/24 14:06:55 ad Exp $");
4141
#endif
4242
#endif /* LIBC_SCCS and not lint */
4343

@@ -369,7 +369,28 @@ yesno: if (sysctl(mib, mib_len, &value, &len, NULL, 0) == -1)
369369
NULL, NULL, NULL, SYSCTL_VERSION))
370370
return -1;
371371
break;
372-
372+
case _SC_THREAD_DESTRUCTOR_ITERATIONS:
373+
return _POSIX_THREAD_DESTRUCTOR_ITERATIONS;
374+
case _SC_THREAD_KEYS_MAX:
375+
return _POSIX_THREAD_KEYS_MAX;
376+
case _SC_THREAD_STACK_MIN:
377+
return _getpagesize();
378+
case _SC_THREAD_THREADS_MAX:
379+
if (sysctlgetmibinfo("kern.maxproc", &mib[0], &mib_len,
380+
NULL, NULL, NULL, SYSCTL_VERSION)) /* XXX */
381+
return -1;
382+
goto yesno;
383+
case _SC_THREAD_ATTR_STACKADDR:
384+
return _POSIX_THREAD_ATTR_STACKADDR;
385+
case _SC_THREAD_ATTR_STACKSIZE:
386+
return _POSIX_THREAD_ATTR_STACKSIZE;
387+
case _SC_THREAD_SAFE_FUNCTIONS:
388+
return _POSIX_THREAD_SAFE_FUNCTIONS;
389+
case _SC_THREAD_PRIORITY_SCHEDULING:
390+
case _SC_THREAD_PRIO_INHERIT:
391+
case _SC_THREAD_PRIO_PROTECT:
392+
case _SC_THREAD_PROCESS_SHARED:
393+
return 0;
373394
default:
374395
errno = EINVAL;
375396
return (-1);

sys/sys/unistd.h

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $NetBSD: unistd.h,v 1.40 2008/01/15 03:37:12 rmind Exp $ */
1+
/* $NetBSD: unistd.h,v 1.41 2008/06/24 14:06:55 ad Exp $ */
22

33
/*
44
* Copyright (c) 1989, 1993
@@ -92,6 +92,12 @@
9292
/* threads */
9393
#define _POSIX_THREADS 200112L
9494
/* semaphores */
95+
#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L
96+
/* _r functions */
97+
#define _POSIX_THREAD_ATTR_STACKSIZE 200112L
98+
/* pthread_attr functions for stack size */
99+
#define _POSIX_THREAD_ATTR_STACKADDR 200112L
100+
/* pthread_attr functions for stack address */
95101
#define _POSIX_SEMAPHORES 0
96102
/* barriers */
97103
#define _POSIX_BARRIERS 200112L
@@ -209,6 +215,17 @@
209215
#define _SC_MQ_OPEN_MAX 54
210216
#define _SC_MQ_PRIO_MAX 55
211217
#define _SC_PRIORITY_SCHEDULING 56
218+
#define _SC_THREAD_DESTRUCTOR_ITERATIONS 57
219+
#define _SC_THREAD_KEYS_MAX 58
220+
#define _SC_THREAD_STACK_MIN 59
221+
#define _SC_THREAD_THREADS_MAX 60
222+
#define _SC_THREAD_ATTR_STACKADDR 61
223+
#define _SC_THREAD_ATTR_STACKSIZE 62
224+
#define _SC_THREAD_PRIORITY_SCHEDULING 63
225+
#define _SC_THREAD_PRIO_INHERIT 64
226+
#define _SC_THREAD_PRIO_PROTECT 65
227+
#define _SC_THREAD_PROCESS_SHARED 66
228+
#define _SC_THREAD_SAFE_FUNCTIONS 67
212229

213230
#ifdef _NETBSD_SOURCE
214231
/* Commonly provided sysconf() extensions */

0 commit comments

Comments
 (0)