Author: bdrewery
Date: Wed Aug  8 17:49:35 2018
New Revision: 337471
URL: https://svnweb.freebsd.org/changeset/base/337471

Log:
  MFC r335183:
  
    proc0_post: Fix some locking issues

Modified:
  stable/10/sys/kern/init_main.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/kern/init_main.c
==============================================================================
--- stable/10/sys/kern/init_main.c      Wed Aug  8 17:48:02 2018        
(r337470)
+++ stable/10/sys/kern/init_main.c      Wed Aug  8 17:49:35 2018        
(r337471)
@@ -611,17 +611,23 @@ proc0_post(void *dummy __unused)
         */
        sx_slock(&allproc_lock);
        FOREACH_PROC_IN_SYSTEM(p) {
+               PROC_LOCK(p);
+               if (p->p_state == PRS_NEW) {
+                       PROC_UNLOCK(p);
+                       continue;
+               }
                microuptime(&p->p_stats->p_start);
                PROC_STATLOCK(p);
                rufetch(p, &ru);        /* Clears thread stats */
-               PROC_STATUNLOCK(p);
                p->p_rux.rux_runtime = 0;
                p->p_rux.rux_uticks = 0;
                p->p_rux.rux_sticks = 0;
                p->p_rux.rux_iticks = 0;
+               PROC_STATUNLOCK(p);
                FOREACH_THREAD_IN_PROC(p, td) {
                        td->td_runtime = 0;
                }
+               PROC_UNLOCK(p);
        }
        sx_sunlock(&allproc_lock);
        PCPU_SET(switchtime, cpu_ticks());
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to