kernel: Fixup bad lock ordering in process_awaken_signal
This commit is contained in:
parent
c1e5f206d5
commit
1efc36e51a
@ -1148,14 +1148,14 @@ int process_awaken_from_fswait(process_t * process, int index) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void process_awaken_signal(process_t * process) {
|
void process_awaken_signal(process_t * process) {
|
||||||
|
spin_lock(sleep_lock);
|
||||||
spin_lock(process->sched_lock);
|
spin_lock(process->sched_lock);
|
||||||
if (process->node_waits) {
|
if (process->node_waits) {
|
||||||
spin_lock(sleep_lock);
|
|
||||||
process_awaken_from_fswait(process, -1);
|
process_awaken_from_fswait(process, -1);
|
||||||
spin_unlock(sleep_lock);
|
|
||||||
} else {
|
} else {
|
||||||
spin_unlock(process->sched_lock);
|
spin_unlock(process->sched_lock);
|
||||||
}
|
}
|
||||||
|
spin_unlock(sleep_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
int process_alert_node_locked(process_t * process, void * value) {
|
int process_alert_node_locked(process_t * process, void * value) {
|
||||||
|
Loading…
Reference in New Issue
Block a user