Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 583962 - __multijob_init: work around Cygwin FIFO shortcomings
Summary: __multijob_init: work around Cygwin FIFO shortcomings
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Ebuild Support (show other bugs)
Hardware: All Other
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: prefix-gx86 611328
  Show dependency tree
 
Reported: 2016-05-24 11:02 UTC by Michael Haubenwallner
Modified: 2017-03-03 05:00 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
patch for __multijob_init to work with Cygwin FIFO (0001-__multijob_init-work-with-Cygwin-FIFO-583962.patch,1.06 KB, patch)
2016-05-24 11:04 UTC, Michael Haubenwallner (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Haubenwallner (RETIRED) gentoo-dev 2016-05-24 11:02:54 UTC
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
Comment 1 Michael Haubenwallner (RETIRED) gentoo-dev 2016-05-24 11:04:42 UTC
Created attachment 435198 [details, diff]
patch for __multijob_init to work with Cygwin FIFO
Comment 2 Michael Haubenwallner (RETIRED) gentoo-dev 2016-11-16 14:02:07 UTC
This actually applies to multiprocessing.eclass as well.

Any thoughts?
Comment 3 Zac Medico gentoo-dev 2017-01-12 17:54:24 UTC
(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.
Comment 4 Zac Medico gentoo-dev 2017-01-12 18:09:27 UTC
(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.
Comment 5 Zac Medico gentoo-dev 2017-01-12 18:11:45 UTC
(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.
Comment 7 Michael Haubenwallner (RETIRED) gentoo-dev 2017-01-16 10:10:32 UTC
And in gentoo tree:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=077e60fb9c46247fc053df29b9416b46c90ae6c7
Thanks!