Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/kern Update comments



details:   https://anonhg.NetBSD.org/src/rev/85b9ac60029e
branches:  trunk
changeset: 968862:85b9ac60029e
user:      ad <ad%NetBSD.org@localhost>
date:      Thu Jan 30 12:36:38 2020 +0000

description:
Update comments

diffstat:

 sys/kern/sys_lwp.c |  18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diffs (44 lines):

diff -r 960ac6e034c3 -r 85b9ac60029e sys/kern/sys_lwp.c
--- a/sys/kern/sys_lwp.c        Thu Jan 30 12:28:51 2020 +0000
+++ b/sys/kern/sys_lwp.c        Thu Jan 30 12:36:38 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sys_lwp.c,v 1.74 2020/01/29 15:47:52 ad Exp $  */
+/*     $NetBSD: sys_lwp.c,v 1.75 2020/01/30 12:36:38 ad Exp $  */
 
 /*-
  * Copyright (c) 2001, 2006, 2007, 2008, 2019, 2020 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.74 2020/01/29 15:47:52 ad Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sys_lwp.c,v 1.75 2020/01/30 12:36:38 ad Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -480,15 +480,21 @@
                        continue;
                }
 
-               /* It may not have parked yet or we may have raced. */
                lwp_lock(t);
                if (t->l_syncobj == &lwp_park_syncobj) {
-                       /* Releases the LWP lock. */
+                       /*
+                        * As expected it's parked, so wake it up. 
+                        * lwp_unsleep() will release the LWP lock.
+                        */
                        lwp_unsleep(t, true);
                } else {
                        /*
-                        * Set the operation pending.  The next call to
-                        * _lwp_park() will return early.
+                        * It hasn't parked yet because the wakeup side won
+                        * the race, or something else has happened to make
+                        * the thread not park.  Why doesn't really matter. 
+                        * Set the operation pending, so that the next call
+                        * to _lwp_park() in the LWP returns early.  If it
+                        * turns out to be a spurious wakeup, no harm done.
                         */
                        t->l_flag |= LW_UNPARKED;
                        lwp_unlock(t);



Home | Main Index | Thread Index | Old Index