terminate: fix oversubscribe hang when waiting for other threads on same CPU to die
Change-Id: I8c4fbdd3aab9d0567ce5457a4a6405490608925d
This commit is contained in:
committed by
Dominique Martinet
parent
68c702d024
commit
6f7c428a34
@ -1049,7 +1049,8 @@ void terminate(int rc, int sig)
|
||||
break;
|
||||
}
|
||||
__mcs_rwlock_reader_unlock(&proc->threads_lock, &lock);
|
||||
cpu_pause();
|
||||
/* We might be waiting for another thread on same CPU */
|
||||
schedule();
|
||||
}
|
||||
|
||||
mcs_rwlock_writer_lock(&proc->threads_lock, &lock);
|
||||
|
||||
Reference in New Issue
Block a user