spider: make handle-stop-thread into a get by instead of a got by to fix failing +on-load

This commit is contained in:
Logan Allen 2020-11-20 16:22:49 -06:00
parent a9d6811299
commit cfbfa59100

View File

@ -392,17 +392,20 @@
++ handle-stop-thread
|= [=tid nice=?]
^- (quip card ^state)
=/ =yarn (~(got by tid.state) tid)
?: (has-yarn running.state yarn)
=/ yarn=(unit yarn) (~(get by tid.state) tid)
?~ yarn
~& %stopping-nonexistent-thread
[~ state]
?: (has-yarn running.state u.yarn)
?: nice
(thread-done yarn *vase)
(thread-fail yarn %cancelled ~)
?: (~(has by starting.state) yarn)
(thread-done u.yarn *vase)
(thread-fail u.yarn %cancelled ~)
?: (~(has by starting.state) u.yarn)
(thread-fail-not-running tid %stopped-before-started ~)
~& [%thread-not-started yarn]
~& [%thread-not-started u.yarn]
?: nice
(thread-done yarn *vase)
(thread-fail yarn %cancelled ~)
(thread-done u.yarn *vase)
(thread-fail u.yarn %cancelled ~)
::
++ take-input
|= [=yarn input=(unit input:strand)]