Refine exit code print spec.
[pintos-anon] / solutions / p1-2.patch
index a5e743f0e61aaf5cf45c907e56ccb3c86bae8218..a2a040d45f5504a02eb15627c552982e9bfa501f 100644 (file)
@@ -81,7 +81,7 @@ diff -X pat -urpN pintos.orig/src/threads/thread.c pintos/src/threads/thread.c
  thread_exit (void) 
  {
 +  struct thread *t = thread_current ();
-+  list_elem *e;
++  list_elem *e, *next;
 +
    ASSERT (!intr_context ());
  
@@ -93,10 +93,10 @@ diff -X pat -urpN pintos.orig/src/threads/thread.c pintos/src/threads/thread.c
 +  latch_release (&t->ready_to_die);
 +
 +  /* Notify our children that they can die. */
-+  for (e = list_begin (&t->children); e != list_end (&t->children);
-+       e = list_next (e)) 
++  for (e = list_begin (&t->children); e != list_end (&t->children); e = next)
 +    {
 +      struct thread *child = list_entry (e, struct thread, children_elem);
++      next = list_next (e);
 +      list_remove (e);
 +      sema_up (&child->can_die); 
 +    }