Merged revisions 80296 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r80296 | r.david.murray | 2010-04-20 21:51:57 -0400 (Tue, 20 Apr 2010) | 14 lines

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

  ........
    r80144 | r.david.murray | 2010-04-17 01:26:26 -0400 (Sat, 17 Apr 2010) | 8 lines

    Issue #3864: Skip three test_signal tests on freebsd6 due to platform bug.

    Two itimer tests and an interprocess signal test fail on FreeBSD 6 if
    any test that starts a thread runs before test_signal.  Since FreeBSD7
    does not show this behavior, the bug is most likely a platform bug,
    so this patch just skips the failing tests on freebsd6.
  ........
................
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 6f4a7bf..a7c030e 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -139,6 +139,10 @@
             self.fail("pause returned of its own accord, and the signal"
                       " didn't arrive after another second.")
 
+    # Issue 3864, unknown if this affects earlier versions of freebsd also
+    @unittest.skipIf(sys.platform=='freebsd6',
+        'inter process signals not reliable (do not mix well with threading) '
+        'on freebsd6')
     def test_main(self):
         # This function spawns a child process to insulate the main
         # test-running process from all the signals. It then
@@ -355,6 +359,9 @@
 
         self.assertEqual(self.hndl_called, True)
 
+    # Issue 3864, unknown if this affects earlier versions of freebsd also
+    @unittest.skipIf(sys.platform=='freebsd6',
+        'itimer not reliable (does not mix well with threading) on freebsd6')
     def test_itimer_virtual(self):
         self.itimer = signal.ITIMER_VIRTUAL
         signal.signal(signal.SIGVTALRM, self.sig_vtalrm)
@@ -376,6 +383,9 @@
         # and the handler should have been called
         self.assertEquals(self.hndl_called, True)
 
+    # Issue 3864, unknown if this affects earlier versions of freebsd also
+    @unittest.skipIf(sys.platform=='freebsd6',
+        'itimer not reliable (does not mix well with threading) on freebsd6')
     def test_itimer_prof(self):
         self.itimer = signal.ITIMER_PROF
         signal.signal(signal.SIGPROF, self.sig_prof)