classification
Title: Fix test_signal failure on x32
Type: behavior Stage: resolved
Components: Interpreter Core Versions: Python 3.4, Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: haypo, mark.dickinson, pitrou, python-dev
Priority: low Keywords: patch

Created on 2013-04-17 19:25 by pitrou, last changed 2013-04-17 20:11 by pitrou. This issue is now closed.

Files
File name Uploaded Description Edit
x32_timespec.patch pitrou, 2013-04-17 19:25 review
Messages (4)
msg187197 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-04-17 19:25
x32 is a special Linux ABI on x86-64 CPUs. When compiling for x32, there's a failure in test_sigtimedwait. The failure is due to the fact that on x32, "long" is 32 bits but "timespec.tv_nsec" is 64 bits. Therefore we can't pass the pointer to tv_nsec directly to _PyTime_ObjectToTimespec.

Patch attached.
msg187200 - (view) Author: STINNER Victor (haypo) * (Python committer) Date: 2013-04-17 19:56
The patch looks good to me.
msg187202 - (view) Author: Roundup Robot (python-dev) Date: 2013-04-17 20:10
New changeset 7a0fb0f59cf6 by Antoine Pitrou in branch '3.3':
- Issue #17782: Fix undefined behaviour on platforms where ``struct timespec``'s "tv_nsec" member is not a C long.
http://hg.python.org/cpython/rev/7a0fb0f59cf6

New changeset f9e0eacb6b13 by Antoine Pitrou in branch 'default':
Issue #17782: Fix undefined behaviour on platforms where ``struct timespec``'s "tv_nsec" member is not a C long.
http://hg.python.org/cpython/rev/f9e0eacb6b13
msg187203 - (view) Author: Antoine Pitrou (pitrou) * (Python committer) Date: 2013-04-17 20:11
Committed!
History
Date User Action Args
2013-04-17 20:11:40pitrousetstatus: open -> closed
resolution: fixed
messages: + msg187203

stage: patch review -> resolved
2013-04-17 20:10:44python-devsetnosy: + python-dev
messages: + msg187202
2013-04-17 19:56:44hayposetmessages: + msg187200
2013-04-17 19:26:25pitrousettype: crash -> behavior
2013-04-17 19:25:27pitroucreate