diff options
| author | christos <christos@NetBSD.org> | 2003-06-02 16:59:26 +0000 |
|---|---|---|
| committer | christos <christos@NetBSD.org> | 2003-06-02 16:59:26 +0000 |
| commit | dc1665b80b6cf1d14e8a5984389e4dbbcd8eb33e (patch) | |
| tree | 3a350fe32ff3168c8f3b1a314beed87225f93b29 /lib/libpthread | |
| parent | bc91866ddf75190c70589966d617bec7d2b7a467 (diff) | |
Add pthread_attr_getstack{,size,addr} needed by jdk
Diffstat (limited to 'lib/libpthread')
| -rw-r--r-- | lib/libpthread/pthread.c | 32 | ||||
| -rw-r--r-- | lib/libpthread/pthread.h | 5 |
2 files changed, 34 insertions, 3 deletions
diff --git a/lib/libpthread/pthread.c b/lib/libpthread/pthread.c index 566d0a4092f..737db23a580 100644 --- a/lib/libpthread/pthread.c +++ b/lib/libpthread/pthread.c @@ -1,4 +1,4 @@ -/* $NetBSD: pthread.c,v 1.19 2003/05/27 15:24:24 christos Exp $ */ +/* $NetBSD: pthread.c,v 1.20 2003/06/02 16:59:26 christos Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__RCSID("$NetBSD: pthread.c,v 1.19 2003/05/27 15:24:24 christos Exp $"); +__RCSID("$NetBSD: pthread.c,v 1.20 2003/06/02 16:59:26 christos Exp $"); #include <err.h> #include <errno.h> @@ -782,6 +782,34 @@ pthread_attr_getschedparam(const pthread_attr_t *attr, return 0; } +int +pthread_attr_getstack(const pthread_attr_t *attr, void **addr, size_t *size) +{ + if ((attr == NULL) || (attr->pta_magic != PT_ATTR_MAGIC)) + return EINVAL; + *addr = pthread__self()->pt_stack.ss_sp; + *size = pthread__self()->pt_stack.ss_size; + return 0; +} + +int +pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *size) +{ + if ((attr == NULL) || (attr->pta_magic != PT_ATTR_MAGIC)) + return EINVAL; + *size = pthread__self()->pt_stack.ss_size; + return 0; +} + +int +pthread_attr_getstackaddr(const pthread_attr_t *attr, void **addr) +{ + if ((attr == NULL) || (attr->pta_magic != PT_ATTR_MAGIC)) + return EINVAL; + *addr = pthread__self()->pt_stack.ss_sp; + return 0; +} + int pthread_attr_getname_np(const pthread_attr_t *attr, char *name, size_t len, diff --git a/lib/libpthread/pthread.h b/lib/libpthread/pthread.h index 8da5af52240..7f4190cc20a 100644 --- a/lib/libpthread/pthread.h +++ b/lib/libpthread/pthread.h @@ -1,4 +1,4 @@ -/* $NetBSD: pthread.h,v 1.9 2003/02/26 22:02:48 thorpej Exp $ */ +/* $NetBSD: pthread.h,v 1.10 2003/06/02 16:59:27 christos Exp $ */ /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -67,6 +67,9 @@ int pthread_attr_getschedparam(const pthread_attr_t *, struct sched_param *); int pthread_attr_setschedparam(pthread_attr_t *, const struct sched_param *); +int pthread_attr_getstack(const pthread_attr_t *, void **, size_t *); +int pthread_attr_getstacksize(const pthread_attr_t *, size_t *); +int pthread_attr_getstackaddr(const pthread_attr_t *, void **); int pthread_attr_getdetachstate(const pthread_attr_t *, int *); int pthread_attr_setdetachstate(pthread_attr_t *, int); int pthread_attr_getname_np(const pthread_attr_t *, char *, |
