Describe the bug
Adding batching of input files to the parallelize tool for my own needs (cuts the runtime for clang-format in half for me), I believe I encountered two issues:
- Quite often it would crash upon returning from
p.wait_all() since a kernel mode operation corrupted the stack. This goes away when using an explicit manual-reset event for OVERLAPPED in output_collecting_pipe.
- It can hang on exit because the
output_collecting_pipe destructor does not clear the running flag. The threadpool callback then starts another IO operation which never completes.
If useful, I can prepare a patch to fix these.
Describe the bug
Adding batching of input files to the parallelize tool for my own needs (cuts the runtime for clang-format in half for me), I believe I encountered two issues:
p.wait_all()since a kernel mode operation corrupted the stack. This goes away when using an explicit manual-reset event forOVERLAPPEDinoutput_collecting_pipe.output_collecting_pipedestructor does not clear therunningflag. The threadpool callback then starts another IO operation which never completes.If useful, I can prepare a patch to fix these.