commit-hurd
[Top][All Lists]
Advanced

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

hurd/proc ChangeLog mgt.c


From: Marcus Brinkmann
Subject: hurd/proc ChangeLog mgt.c
Date: Sat, 09 Aug 2003 12:43:34 -0400

CVSROOT:        /cvsroot/hurd
Module name:    hurd
Branch:         
Changes by:     Marcus Brinkmann <address@hidden>       03/08/09 12:43:34

Modified files:
        proc           : ChangeLog mgt.c 

Log message:
        2003-06-16  Ognyan Kulev  <address@hidden>
        
        * mgt.c (S_proc_dostop): Instead of suspending all threads except
        CONTTHREAD, first suspend all threads, and then resume CONTTHREAD.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd/proc/ChangeLog.diff?tr1=1.57&tr2=1.58&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd/proc/mgt.c.diff?tr1=1.65&tr2=1.66&r1=text&r2=text

Patches:
Index: hurd/proc/ChangeLog
diff -u hurd/proc/ChangeLog:1.57 hurd/proc/ChangeLog:1.58
--- hurd/proc/ChangeLog:1.57    Wed Jun  5 19:29:47 2002
+++ hurd/proc/ChangeLog Sat Aug  9 12:43:34 2003
@@ -1,3 +1,8 @@
+2003-06-16  Ognyan Kulev  <address@hidden>
+
+       * mgt.c (S_proc_dostop): Instead of suspending all threads except
+       CONTTHREAD, first suspend all threads, and then resume CONTTHREAD.
+
 2002-06-05  Roland McGrath  <address@hidden>
 
        * info.c (S_proc_getprocinfo): If PI_FETCH_TASKEVENTS is set in *FLAGS,
Index: hurd/proc/mgt.c
diff -u hurd/proc/mgt.c:1.65 hurd/proc/mgt.c:1.66
--- hurd/proc/mgt.c:1.65        Wed May  8 05:24:52 2002
+++ hurd/proc/mgt.c     Sat Aug  9 12:43:34 2003
@@ -1,5 +1,5 @@
 /* Process management
-   Copyright (C) 1992,93,94,95,96,99,2000,01,02 Free Software Foundation, Inc.
+   Copyright (C) 1992,93,94,95,96,99,2000,01,02,03 Free Software Foundation, 
Inc.
 
 This file is part of the GNU Hurd.
 
@@ -348,14 +348,17 @@
       task_resume (p->p_task);
       return err;
     }
+  /* We can not compare the thread ports with CONTTHREAD, as CONTTHREAD
+     might be a proxy port (for example in rpctrace).  For this reason
+     we suspend all threads and then resume  CONTTHREAD.  */
   for (i = 0; i < nthreads; i++)
     {
-      if (threads[i] != contthread)
-       thread_suspend (threads[i]);
+      thread_suspend (threads[i]);
       mach_port_deallocate (mach_task_self (), threads[i]);
     }
   if (threads != threadbuf)
     munmap (threads, nthreads * sizeof (thread_t));
+  thread_resume (contthread);
   err = task_resume (p->p_task);
   if (err)
     return err;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]