[pypy-issue] [issue1069] PyThread_set_key_value and PyThread_delete_key_value missing from cpyext support

Jean-Paul Calderone tracker at bugs.pypy.org
Mon Mar 5 13:18:51 CET 2012


Jean-Paul Calderone <exarkun at twistedmatrix.com> added the comment:

pyOpenSSL builds without warnings now, and imports.  Thanks.  However, it looks
like at least one case isn't handled in the same way as on CPython.

$ python -c '
import OpenSSL
conn = OpenSSL.SSL.Connection(OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD), None)
conn.set_connect_state()
conn.do_handshake()
'
Traceback (most recent call last):
  File "<string>", line 5, in <module>
OpenSSL.SSL.WantReadError
$

vs PyPy:

$ ~/pypy-c-jit-53221-27d215507bad-linux64/bin/pypy -c '
import OpenSSL
conn = OpenSSL.SSL.Connection(OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD), None)
conn.set_connect_state()
conn.do_handshake()
'
pypy: thread.c:238: PyThread_set_key_value: Assertion `value != ((void *)0)' failed.
Aborted
$

You might be able to convince me that PyThread_delete key should be used instead
of PyThread_set_key_value(key, NULL), but just being compatible with CPython
would be easier for me (clearly ;).

----------
status: resolved -> chatting

________________________________________
PyPy bug tracker <tracker at bugs.pypy.org>
<https://bugs.pypy.org/issue1069>
________________________________________


More information about the pypy-issue mailing list