[pypy-commit] pypy py3k: Translation fixes
amauryfa
noreply at buildbot.pypy.org
Sun Feb 8 17:38:20 CET 2015
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3k
Changeset: r75761:e11bc12d0270
Date: 2015-02-08 17:14 +0100
http://bitbucket.org/pypy/pypy/changeset/e11bc12d0270/
Log: Translation fixes
diff --git a/pypy/module/_posixsubprocess/interp_subprocess.py b/pypy/module/_posixsubprocess/interp_subprocess.py
--- a/pypy/module/_posixsubprocess/interp_subprocess.py
+++ b/pypy/module/_posixsubprocess/interp_subprocess.py
@@ -7,7 +7,7 @@
from rpython.translator.tool.cbuild import ExternalCompilationInfo
from pypy.interpreter.error import (
- OperationError, exception_from_errno, oefmt, wrap_oserror)
+ OperationError, exception_from_saved_errno, oefmt, wrap_oserror)
from pypy.interpreter.gateway import unwrap_spec
from pypy.module.posix.interp_posix import run_fork_hooks
@@ -50,7 +50,8 @@
'pypy_subprocess_cloexec_pipe',
[rffi.CArrayPtr(rffi.INT)], rffi.INT,
compilation_info=eci,
- releasegil=True)
+ releasegil=True,
+ save_err=rffi.RFFI_SAVE_ERRNO)
c_init = rffi.llexternal(
'pypy_subprocess_init',
[], lltype.Void,
@@ -225,7 +226,7 @@
with lltype.scoped_alloc(rffi.CArrayPtr(rffi.INT).TO, 2) as fds:
res = c_cloexec_pipe(fds)
if res != 0:
- raise exception_from_errno(space, space.w_OSError)
+ raise exception_from_saved_errno(space, space.w_OSError)
return space.newtuple([space.wrap(fds[0]),
space.wrap(fds[1]),
diff --git a/pypy/module/_ssl/interp_ssl.py b/pypy/module/_ssl/interp_ssl.py
--- a/pypy/module/_ssl/interp_ssl.py
+++ b/pypy/module/_ssl/interp_ssl.py
@@ -3,7 +3,7 @@
from rpython.rlib import rpoll, rsocket
from rpython.rlib.rarithmetic import intmask
from rpython.rlib.ropenssl import *
-from rpython.rlib.rposix import get_errno, set_errno
+from rpython.rlib.rposix import get_saved_errno
from rpython.rtyper.lltypesystem import lltype, rffi
from pypy.interpreter.baseobjspace import W_Root
@@ -188,11 +188,9 @@
else:
keyfile = space.str_w(w_keyfile)
- set_errno(0)
-
ret = libssl_SSL_CTX_use_certificate_chain_file(self.ctx, certfile)
if ret != 1:
- errno = get_errno()
+ errno = get_saved_errno()
if errno:
libssl_ERR_clear_error()
raise wrap_oserror(space, OSError(errno, ''),
@@ -203,7 +201,7 @@
ret = libssl_SSL_CTX_use_PrivateKey_file(self.ctx, keyfile,
SSL_FILETYPE_PEM)
if ret != 1:
- errno = get_errno()
+ errno = get_saved_errno()
if errno:
libssl_ERR_clear_error()
raise wrap_oserror(space, OSError(errno, ''),
@@ -227,11 +225,10 @@
if cafile is None and capath is None:
raise OperationError(space.w_TypeError, space.wrap(
"cafile and capath cannot be both omitted"))
- set_errno(0)
ret = libssl_SSL_CTX_load_verify_locations(
self.ctx, cafile, capath)
if ret != 1:
- errno = get_errno()
+ errno = get_saved_errno()
if errno:
libssl_ERR_clear_error()
raise wrap_oserror(space, OSError(errno, ''),
diff --git a/rpython/rlib/ropenssl.py b/rpython/rlib/ropenssl.py
--- a/rpython/rlib/ropenssl.py
+++ b/rpython/rlib/ropenssl.py
@@ -199,8 +199,10 @@
ssl_external('SSLv2_method', [], SSL_METHOD)
ssl_external('SSLv3_method', [], SSL_METHOD)
ssl_external('SSLv23_method', [], SSL_METHOD)
-ssl_external('SSL_CTX_use_PrivateKey_file', [SSL_CTX, rffi.CCHARP, rffi.INT], rffi.INT)
-ssl_external('SSL_CTX_use_certificate_chain_file', [SSL_CTX, rffi.CCHARP], rffi.INT)
+ssl_external('SSL_CTX_use_PrivateKey_file', [SSL_CTX, rffi.CCHARP, rffi.INT], rffi.INT,
+ save_err=rffi.RFFI_FULL_ERRNO_ZERO)
+ssl_external('SSL_CTX_use_certificate_chain_file', [SSL_CTX, rffi.CCHARP], rffi.INT,
+ save_err=rffi.RFFI_FULL_ERRNO_ZERO)
ssl_external('SSL_CTX_get_options', [SSL_CTX], rffi.LONG, macro=True)
ssl_external('SSL_CTX_set_options', [SSL_CTX, rffi.LONG], rffi.LONG, macro=True)
if HAVE_SSL_CTX_CLEAR_OPTIONS:
@@ -213,7 +215,7 @@
ssl_external('SSL_CTX_set_cipher_list', [SSL_CTX, rffi.CCHARP], rffi.INT)
ssl_external('SSL_CTX_load_verify_locations',
[SSL_CTX, rffi.CCHARP, rffi.CCHARP], rffi.INT,
- save_err=SAVE_ERR)
+ save_err=rffi.RFFI_FULL_ERRNO_ZERO)
ssl_external('SSL_CTX_check_private_key', [SSL_CTX], rffi.INT)
ssl_external('SSL_CTX_set_session_id_context', [SSL_CTX, rffi.CCHARP, rffi.UINT], rffi.INT)
SSL_CTX_STATS_NAMES = """
More information about the pypy-commit
mailing list