Although the FIFO implementation in Cygwin could need a revamp[1], with a little reordering it is possible to get the current multijob thingy working. [1] https://cygwin.com/ml/cygwin-developers/2016-04/msg00003.html
Created attachment 435198 [details, diff] patch for __multijob_init to work with Cygwin FIFO
This actually applies to multiprocessing.eclass as well. Any thoughts?
(In reply to Michael Haubenwallner from comment #1) > Created attachment 435198 [details, diff] [details, diff] > patch for __multijob_init to work with Cygwin FIFO Can change mj_read_fd to readonly mode? I think we should do that, if it works correctly. Does it really matter which order mj_read_fd and mj_write_fd are opened? Why would it? (In reply to Michael Haubenwallner from comment #2) > This actually applies to multiprocessing.eclass as well. > > Any thoughts? Please submit a patch for multiprocessing.eclass to the gentoo-dev mailing list.
(In reply to Zac Medico from comment #3) > Can change mj_read_fd to readonly mode? I think we should do that, if it > works correctly. Does it really matter which order mj_read_fd and > mj_write_fd are opened? Why would it? If mj_read_fd is opened in readonly mode, I see that pym/portage/tests/emerge/test_emerge_blocker_file_collision.py deadlocks in a call to prepstrip.
(In reply to Zac Medico from comment #4) > (In reply to Zac Medico from comment #3) > > Can change mj_read_fd to readonly mode? I think we should do that, if it > > works correctly. Does it really matter which order mj_read_fd and > > mj_write_fd are opened? Why would it? > > If mj_read_fd is opened in readonly mode, I see that > pym/portage/tests/emerge/test_emerge_blocker_file_collision.py deadlocks in > a call to prepstrip. Also it deadlocks if mj_write_fd is opened first in writeonly mode.
This is in the master branch: https://gitweb.gentoo.org/proj/portage.git/commit/?id=5a53e732efa0ee7e2a3f8afe90d729212ff187fb
And in gentoo tree: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=077e60fb9c46247fc053df29b9416b46c90ae6c7 Thanks!