Merged revisions 78531 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78531 | gregory.p.smith | 2010-02-28 18:31:33 -0800 (Sun, 28 Feb 2010) | 2 lines

  Fix for r78527.  It left out updating forkpty.
........
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 202fae5..abe6189 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -3880,15 +3880,18 @@
 static PyObject *
 posix_forkpty(PyObject *self, PyObject *noargs)
 {
-	int master_fd = -1, result;
+	int master_fd = -1, result = 0;
 	pid_t pid;
 
 	_PyImport_AcquireLock();
 	pid = forkpty(&master_fd, NULL, NULL, NULL);
-	if (pid == 0)
+	if (pid == 0) {
+		/* child: this clobbers and resets the import lock. */
 		PyOS_AfterFork();
-
-	result = _PyImport_ReleaseLock();
+	} else {
+		/* parent: release the import lock. */
+		result = _PyImport_ReleaseLock();
+	}
 	if (pid == -1)
 		return posix_error();
 	if (result < 0) {