4cdcbdb753
The RP2040 has 2 cores and supports running at most 2 Python threads (the main one plus another), and will raise OSError if a thread cannot be created because core1 is already in use. This commit adjusts some thread tests to be robust against such OSError's. These tests now pass on rp2 boards. Signed-off-by: Damien George <damien@micropython.org>
27 lines
468 B
Python
27 lines
468 B
Python
# test raising SystemExit to finish a thread
|
|
#
|
|
# MIT license; Copyright (c) 2016 Damien P. George on behalf of Pycom Ltd
|
|
|
|
try:
|
|
import utime as time
|
|
except ImportError:
|
|
import time
|
|
import _thread
|
|
|
|
|
|
def thread_entry():
|
|
raise SystemExit
|
|
|
|
|
|
for i in range(2):
|
|
while True:
|
|
try:
|
|
_thread.start_new_thread(thread_entry, ())
|
|
break
|
|
except OSError:
|
|
pass
|
|
|
|
# wait for threads to finish
|
|
time.sleep(1)
|
|
print("done")
|