diff options
Diffstat (limited to 'libports')
-rw-r--r-- | libports/manage-multithread.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libports/manage-multithread.c b/libports/manage-multithread.c index 6ec1e49f..e95657e1 100644 --- a/libports/manage-multithread.c +++ b/libports/manage-multithread.c @@ -150,6 +150,11 @@ ports_manage_port_operations_multithread (struct port_bucket *bucket, else { spin_lock (&lock); + if (nreqthreads == 1) + { + spin_unlock (&lock); + goto startover; + } nreqthreads--; totalthreads--; spin_unlock (&lock); |