Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3.3
Changeset: r75921:36e9b041cbb7
Date: 2015-02-16 18:46 +0100
http://bitbucket.org/pypy/pypy/changeset/36e9b041cbb7/

Log:    Fixes

diff --git a/pypy/module/_ssl/test/test_ssl.py 
b/pypy/module/_ssl/test/test_ssl.py
--- a/pypy/module/_ssl/test/test_ssl.py
+++ b/pypy/module/_ssl/test/test_ssl.py
@@ -411,6 +411,7 @@
         cls.w_keycert = cls.space.wrap(str(tmpfile))
 
     def test_str(self):
+        import _ssl
         # The str() of a SSLError doesn't include the errno
         e = _ssl.SSLError(1, "foo")
         assert str(e) == "foo"
diff --git a/pypy/module/signal/interp_signal.py 
b/pypy/module/signal/interp_signal.py
--- a/pypy/module/signal/interp_signal.py
+++ b/pypy/module/signal/interp_signal.py
@@ -335,7 +335,7 @@
     "Send a signal to a thread."
     ret = c_pthread_kill(tid, signum)
     if widen(ret) < 0:
-        raise exception_from_errno(space, space.w_OSError)
+        raise exception_from_saved_errno(space, space.w_OSError)
     # the signal may have been send to the current thread
     space.getexecutioncontext().checksignals()
 
@@ -379,7 +379,7 @@
         with lltype.scoped_alloc(rffi.INTP.TO, 1) as signum_ptr:
             ret = c_sigwait(sigset, signum_ptr)
             if ret != 0:
-                raise exception_from_errno(space, space.w_OSError)
+                raise exception_from_saved_errno(space, space.w_OSError)
             signum = signum_ptr[0]
     return space.wrap(signum)
 
@@ -387,7 +387,7 @@
     with lltype.scoped_alloc(c_sigset_t.TO) as mask:
         ret = c_sigpending(mask)
         if ret != 0:
-            raise exception_from_errno(space, space.w_OSError)
+            raise exception_from_saved_errno(space, space.w_OSError)
         return _sigset_to_signals(space, mask)
 
 @unwrap_spec(how=int)
@@ -396,7 +396,7 @@
         with lltype.scoped_alloc(c_sigset_t.TO) as previous:
             ret = c_pthread_sigmask(how, sigset, previous)
             if ret != 0:
-                raise exception_from_errno(space, space.w_OSError)
+                raise exception_from_saved_errno(space, space.w_OSError)
             # if signals was unblocked, signal handlers have been called
             space.getexecutioncontext().checksignals()
             return _sigset_to_signals(space, previous)
diff --git a/rpython/rlib/rsignal.py b/rpython/rlib/rsignal.py
--- a/rpython/rlib/rsignal.py
+++ b/rpython/rlib/rsignal.py
@@ -102,7 +102,8 @@
                            save_err=rffi.RFFI_SAVE_ERRNO)
     c_getitimer = external('getitimer', [rffi.INT, itimervalP], rffi.INT)
 
-c_pthread_kill = external('pthread_kill', [lltype.Signed, rffi.INT], rffi.INT)
+c_pthread_kill = external('pthread_kill', [lltype.Signed, rffi.INT], rffi.INT,
+                          save_err=rffi.RFFI_SAVE_ERRNO)
 
 if sys.platform != 'win32':
     c_sigset_t = rffi.COpaquePtr('sigset_t', compilation_info=eci)
@@ -110,7 +111,10 @@
     c_sigaddset = external('sigaddset', [c_sigset_t, rffi.INT], rffi.INT)
     c_sigismember = external('sigismember', [c_sigset_t, rffi.INT], rffi.INT)
     c_sigwait = external('sigwait', [c_sigset_t, rffi.INTP], rffi.INT,
-                         releasegil=True)
-    c_sigpending = external('sigpending', [c_sigset_t], rffi.INT)
+                         releasegil=True,
+                         save_err=rffi.RFFI_SAVE_ERRNO)
+    c_sigpending = external('sigpending', [c_sigset_t], rffi.INT,
+                            save_err=rffi.RFFI_SAVE_ERRNO)
     c_pthread_sigmask = external('pthread_sigmask',
-                                 [rffi.INT, c_sigset_t, c_sigset_t], rffi.INT)
+                                 [rffi.INT, c_sigset_t, c_sigset_t], rffi.INT,
+                                 save_err=rffi.RFFI_SAVE_ERRNO)
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to