Fix for 2d2f206d040e so that test_multiprocessing does not depend on ctypes
diff --git a/Lib/test/test_multiprocessing.py b/Lib/test/test_multiprocessing.py
index 6da5574..e4031f6 100644
--- a/Lib/test/test_multiprocessing.py
+++ b/Lib/test/test_multiprocessing.py
@@ -1109,9 +1109,13 @@
         self.n = n
         self.started = namespace.DummyList()
         self.finished = namespace.DummyList()
-        self._can_exit = namespace.Value('i', not wait_before_exit)
+        self._can_exit = namespace.Event()
+        if not wait_before_exit:
+            self._can_exit.set()
         for i in range(n):
-            namespace.Process(target=self.task).start()
+            p = namespace.Process(target=self.task)
+            p.daemon = True
+            p.start()
 
     def task(self):
         pid = os.getpid()
@@ -1120,8 +1124,8 @@
             self.f(*self.args)
         finally:
             self.finished.append(pid)
-            while not self._can_exit.value:
-                _wait()
+            self._can_exit.wait(30)
+            assert self._can_exit.is_set()
 
     def wait_for_started(self):
         while len(self.started) < self.n:
@@ -1132,7 +1136,7 @@
             _wait()
 
     def do_finish(self):
-        self._can_exit.value = True
+        self._can_exit.set()
 
 
 class AppendTrue(object):