Fix issig() to check signal_pending after dequeue SIGSTOP/SIGTSTP

When process got SIGSTOP/SIGTSTP, issig() dequeue them and return 0.
But process could still have another signal pending after dequeue. So,
after dequeue, check and return 1, if signal_pending.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Jitendra Patidar <jitendra.patidar@nutanix.com>
Closes #16464
This commit is contained in:
Jitendra Patidar 2024-08-27 06:06:49 +05:30 committed by GitHub
parent 6be8bf5552
commit 73866cf346
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -186,6 +186,13 @@ issig(void)
schedule();
#endif
/*
* Dequeued SIGSTOP/SIGTSTP.
* Check if process has other singal pending.
*/
if (signal_pending(current))
return (1);
return (0);
}