diff -r 555f5fe53341 Lib/multiprocessing/connection.py --- a/Lib/multiprocessing/connection.py Tue Apr 03 09:16:46 2012 +0200 +++ b/Lib/multiprocessing/connection.py Tue Apr 03 12:08:34 2012 +0300 @@ -111,6 +111,12 @@ if sys.platform != 'win32' and family == 'AF_PIPE': raise ValueError('Family %s is not recognized.' % family) + if sys.platform == 'win32' and family == 'AF_UNIX': + # double check + if not hasattr(socket, family): + raise ValueError('Family %s is not recognized.' % family) + + def address_type(address): ''' diff -r 555f5fe53341 Lib/test/test_multiprocessing.py --- a/Lib/test/test_multiprocessing.py Tue Apr 03 09:16:46 2012 +0200 +++ b/Lib/test/test_multiprocessing.py Tue Apr 03 12:08:34 2012 +0300 @@ -2649,6 +2649,11 @@ with self.assertRaises(ValueError): multiprocessing.connection.Listener(r'\\.\test') + @unittest.skipUnless(WIN32, "skipped on non-Windows platforms") + def test_invalid_family_win32(self): + with self.assertRaises(ValueError): + multiprocessing.connection.Listener('/var/test.pipe') + testcases_other = [OtherTest, TestInvalidHandle, TestInitializers, TestStdinBadfiledescriptor, TestWait, TestInvalidFamily]