Bug 221150

Summary: [webkitcorepy] Support machines without Unix signal handling
Product: WebKit Reporter: Jonathan Bedard <jbedard>
Component: Tools / TestsAssignee: Jonathan Bedard <jbedard>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, don.olmstead, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch
none
Patch for landing none

Description Jonathan Bedard 2021-01-29 13:34:18 PST
Not all machines support signal.alarm. Our timeout code makes an effort to function without signal.alarm when possible. Timeout is much less robust without signal.alarm, but is still useful in many circumstances.
Comment 1 Radar WebKit Bug Importer 2021-01-29 13:34:30 PST
<rdar://problem/73769605>
Comment 2 Jonathan Bedard 2021-01-29 13:41:04 PST
Created attachment 418766 [details]
Patch
Comment 3 Don Olmstead 2021-01-29 15:19:59 PST
Works for me locally with Python 3 on Windows!

There are other cases where signal.SIGKILL is used which isn't present in Python for Windows so some more cross platform fixes should probably happen around usage of signal.
Comment 4 Jonathan Bedard 2021-01-29 16:48:28 PST
Looks like there are a few in task_pool.py and our mock popen code. We might also need to address this in webkitpy/common/interrupt_debugging.py, but that would have broken layout tests in Python 2 on Windows machines as well.
Comment 5 Jonathan Bedard 2021-01-29 17:00:15 PST
Created attachment 418788 [details]
Patch
Comment 6 Aakash Jain 2021-02-01 10:01:04 PST
rs=me
Comment 7 Jonathan Bedard 2021-02-01 10:42:08 PST
Created attachment 418896 [details]
Patch for landing
Comment 8 EWS 2021-02-01 12:56:45 PST
Committed r272169: <https://trac.webkit.org/changeset/272169>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418896 [details].