kernel: Interrupting fswait should return -EINTR
This commit is contained in:
parent
7c0844a908
commit
738631f0ae
@ -1082,7 +1082,7 @@ int process_wait_nodes(process_t * process,fs_node_t * nodes[], int timeout) {
|
|||||||
do {
|
do {
|
||||||
int result = selectcheck_fs(*n);
|
int result = selectcheck_fs(*n);
|
||||||
if (result < 0) {
|
if (result < 0) {
|
||||||
return -1;
|
return -EBADF;
|
||||||
}
|
}
|
||||||
if (result == 0) {
|
if (result == 0) {
|
||||||
return index;
|
return index;
|
||||||
@ -1153,7 +1153,7 @@ void process_awaken_signal(process_t * process) {
|
|||||||
spin_lock(sleep_lock);
|
spin_lock(sleep_lock);
|
||||||
spin_lock(process->sched_lock);
|
spin_lock(process->sched_lock);
|
||||||
if (process->node_waits) {
|
if (process->node_waits) {
|
||||||
process_awaken_from_fswait(process, -1);
|
process_awaken_from_fswait(process, -EINTR);
|
||||||
} else {
|
} else {
|
||||||
spin_unlock(process->sched_lock);
|
spin_unlock(process->sched_lock);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user