summaryrefslogtreecommitdiff
path: root/lib/libpthread/thread/thr_execve.c
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2004-10-07 14:23:15 +0000
committerDavid Xu <davidxu@FreeBSD.org>2004-10-07 14:23:15 +0000
commit2dad2d6bfc6ede463d5b11cbbaa2d27d33cfe0f6 (patch)
treed2906b35eb895c598b798c56b412f11bb4cbd18e /lib/libpthread/thread/thr_execve.c
parentfcf4e3a168c8f7ee0972ded5617b9c3c25c24526 (diff)
Notes
Diffstat (limited to 'lib/libpthread/thread/thr_execve.c')
-rw-r--r--lib/libpthread/thread/thr_execve.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/libpthread/thread/thr_execve.c b/lib/libpthread/thread/thr_execve.c
index 2904a2f95105..ab1a9e9852ff 100644
--- a/lib/libpthread/thread/thr_execve.c
+++ b/lib/libpthread/thread/thr_execve.c
@@ -40,17 +40,16 @@ int
_execve(const char *name, char *const *argv, char *const *envp)
{
struct kse_execve_args args;
- struct pthread *curthread;
+ struct pthread *curthread = _get_curthread();
int ret;
- if (!_kse_isthreaded())
+ if (curthread->attr.flags & PTHREAD_SCOPE_SYSTEM)
ret = __sys_execve(name, argv, envp);
else {
/*
* When exec'ing, set the kernel signal mask to the thread's
* signal mask to satisfy POSIX requirements.
*/
- curthread = _get_curthread();
args.sigmask = curthread->sigmask;
args.sigpend = curthread->sigpend;
args.path = (char *)name;