diff Python/pystate.c @ 34568:ff3ca656c281 2.4

Backport 2.39: Close the discussion in SF bug 1069160.
author Guido van Rossum <guido@python.org>
date Tue, 08 Feb 2005 15:01:35 +0000
parents dfd07b7be407
children 9857daa22807
line wrap: on
line diff
--- a/Python/pystate.c	Tue Feb 08 06:41:20 2005 +0000
+++ b/Python/pystate.c	Tue Feb 08 15:01:35 2005 +0000
@@ -320,7 +320,7 @@
 
 /* Asynchronously raise an exception in a thread.
    Requested by Just van Rossum and Alex Martelli.
-   To prevent naive misuse, you must write your own exception
+   To prevent naive misuse, you must write your own extension
    to call this.  Must be called with the GIL held.
    Returns the number of tstates modified; if it returns a number
    greater than one, you're in trouble, and you should call it again
@@ -332,6 +332,7 @@
 	PyInterpreterState *interp = tstate->interp;
 	PyThreadState *p;
 	int count = 0;
+	HEAD_LOCK();
 	for (p = interp->tstate_head; p != NULL; p = p->next) {
 		if (p->thread_id != id)
 			continue;
@@ -340,6 +341,7 @@
 		p->async_exc = exc;
 		count += 1;
 	}
+	HEAD_UNLOCK();
 	return count;
 }