Download raw body.
pass proc to sleep_signal_check()
sleep_finish() already pulls in curproc and caches it in p. So just pass
that to sleep_signal_check() and save one extra curproc call.
--
:wq Claudio
Index: kern_synch.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_synch.c,v
diff -u -p -r1.205 kern_synch.c
--- kern_synch.c 3 Jun 2024 12:48:25 -0000 1.205
+++ kern_synch.c 23 Jul 2024 08:29:39 -0000
@@ -62,7 +62,7 @@
#include <sys/ktrace.h>
#endif
-int sleep_signal_check(void);
+int sleep_signal_check(struct proc *);
int thrsleep(struct proc *, struct sys___thrsleep_args *);
int thrsleep_unlock(void *);
@@ -385,7 +385,7 @@ sleep_finish(int timo, int do_sleep)
* we must be ready for sleep when sleep_signal_check() is
* called.
*/
- if ((error = sleep_signal_check()) != 0) {
+ if ((error = sleep_signal_check(p)) != 0) {
catch = 0;
do_sleep = 0;
}
@@ -438,7 +438,7 @@ sleep_finish(int timo, int do_sleep)
/* Check if thread was woken up because of a unwind or signal */
if (catch != 0)
- error = sleep_signal_check();
+ error = sleep_signal_check(p);
/* Signal errors are higher priority than timeouts. */
if (error == 0 && error1 != 0)
@@ -451,9 +451,8 @@ sleep_finish(int timo, int do_sleep)
* Check and handle signals and suspensions around a sleep cycle.
*/
int
-sleep_signal_check(void)
+sleep_signal_check(struct proc *p)
{
- struct proc *p = curproc;
struct sigctx ctx;
int err, sig;
pass proc to sleep_signal_check()