bayeslite icon indicating copy to clipboard operation
bayeslite copied to clipboard

Python multiprocessing ignores ^C altogether

Open riastradh-probcomp opened this issue 9 years ago • 3 comments

This means the bayeslite shell is not responsive to interruption during analysis and other Crosscat computations when you don't pass `-j 1'.

This is different from #25 because it is specifically about the multiprocessing module ignoring ^C so that nothing happens, not about data structures potentially getting corrupted on ^C.

riastradh-probcomp avatar Jun 03 '15 15:06 riastradh-probcomp

Shell doesn't know enough to stop waiting for work queue when ^C happens. The right thing is to replace python multiprocessing with something more reasonable.

User experience impact, need to decide how much of a challenge for first public release.

tibbetts avatar Aug 11 '15 19:08 tibbetts

Unlike #25, this issue is reasonable to fix, with a little work to rewrite multiprocessing (not trivial, but also not likely to be more than a couple days).

riastradh-probcomp avatar Nov 17 '15 23:11 riastradh-probcomp

To elaborate, after @fsaad's disbelief across the room: this entails rewriting the work queue and process pool code, not actually rewriting primitives for forking or process-shared memory.

riastradh-probcomp avatar Nov 17 '15 23:11 riastradh-probcomp