Skip to content

Commit

Permalink
Merge pull request #22221 from charris/backport-22204
Browse files Browse the repository at this point in the history
TST,BUG: Use fork context to fix MacOS savez test
  • Loading branch information
charris committed Sep 7, 2022
2 parents bf46295 + aadd0c6 commit 63ab75d
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions numpy/lib/tests/test_io.py
Expand Up @@ -13,7 +13,7 @@
from io import BytesIO, StringIO
from datetime import datetime
import locale
from multiprocessing import Process, Value
from multiprocessing import Value, get_context
from ctypes import c_bool

import numpy as np
Expand Down Expand Up @@ -595,7 +595,12 @@ def check_large_zip(memoryerror_raised):
# Use an object in shared memory to re-raise the MemoryError exception
# in our process if needed, see gh-16889
memoryerror_raised = Value(c_bool)
p = Process(target=check_large_zip, args=(memoryerror_raised,))

# Since Python 3.8, the default start method for multiprocessing has
# been changed from 'fork' to 'spawn' on macOS, causing inconsistency
# on memory sharing model, lead to failed test for check_large_zip
ctx = get_context('fork')
p = ctx.Process(target=check_large_zip, args=(memoryerror_raised,))
p.start()
p.join()
if memoryerror_raised.value:
Expand Down

0 comments on commit 63ab75d

Please sign in to comment.