futex_wait: add to check signal
This commit is contained in:
@ -79,6 +79,8 @@
|
|||||||
#define dkprintf(...) do { if (0) kprintf(__VA_ARGS__); } while (0)
|
#define dkprintf(...) do { if (0) kprintf(__VA_ARGS__); } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern struct sigpending *hassigpending(struct thread *thread);
|
||||||
|
|
||||||
int futex_cmpxchg_enabled;
|
int futex_cmpxchg_enabled;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -775,6 +777,11 @@ retry:
|
|||||||
if (timeout && !time_remain)
|
if (timeout && !time_remain)
|
||||||
goto out_put_key;
|
goto out_put_key;
|
||||||
|
|
||||||
|
if(hassigpending(cpu_local_var(current))){
|
||||||
|
ret = -EINTR;
|
||||||
|
goto out_put_key;
|
||||||
|
}
|
||||||
|
|
||||||
/* RIKEN: no signals */
|
/* RIKEN: no signals */
|
||||||
put_futex_key(fshared, &q.key);
|
put_futex_key(fshared, &q.key);
|
||||||
goto retry;
|
goto retry;
|
||||||
|
|||||||
Reference in New Issue
Block a user