summaryrefslogtreecommitdiff
path: root/libports/manage-multithread.c
diff options
context:
space:
mode:
Diffstat (limited to 'libports/manage-multithread.c')
-rw-r--r--libports/manage-multithread.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c
index 1588f632..576e7670 100644
--- a/libports/manage-multithread.c
+++ b/libports/manage-multithread.c
@@ -68,6 +68,11 @@ adjust_priority (unsigned int totalthreads)
goto error_pset_priv;
err = thread_max_priority (self, pset_priv, 0);
+ /* If we are running in an unprivileged subhurd, we got a faked
+ privileged processor set port. This is indeed a kind of
+ permission problem, and we treat it as such. */
+ if (err == KERN_INVALID_ARGUMENT)
+ err = EPERM;
if (err)
goto error_max_priority;