Re: [dev-servo] Multiprocess safety

2015-06-19 Thread Robert O'Callahan
On Fri, Jun 19, 2015 at 12:45 PM, Patrick Walton pwal...@mozilla.com wrote: It's fine to pass channels over channels as long as those channels don't cross process boundaries. Out of interest, why can't you pass channels over channels across a process boundary? Rob -- oIo otoeololo oyooouo

Re: [dev-servo] Multiprocess safety

2015-06-19 Thread James Graham
On 19/06/15 00:40, Patrick Walton wrote: In an effort to keep this sort of thing from happening again, I'd like to suggest that all new code that spawns threads and passes channels or boxed objects over channels not be allowed to pass review until audited for multiprocess safety up until the

Re: [dev-servo] Multiprocess safety

2015-06-19 Thread Robert O'Callahan
On Fri, Jun 19, 2015 at 7:10 PM, Patrick Walton pwal...@mozilla.com wrote: In theory you can use cmsg on POSIX systems to send channels over channels, by treating channels as file descriptors. I tried this first, and I believe it actually worked well on Linux. But on Mac I ran into all sorts

Re: [dev-servo] Multiprocess safety

2015-06-19 Thread Andrew McCreight
On Fri, Jun 19, 2015 at 3:21 AM, Robert O'Callahan rob...@ocallahan.org wrote: On Fri, Jun 19, 2015 at 7:10 PM, Patrick Walton pwal...@mozilla.com wrote: In theory you can use cmsg on POSIX systems to send channels over channels, by treating channels as file descriptors. I tried this

Re: [dev-servo] Multiprocess safety

2015-06-19 Thread Patrick Walton
I think I'm convinced it's worthwhile to try harder at getting cross-process channels-over-channels working. It would result in a lot less churn, for sure. The fact that they have to be transmitted out of band is an interesting serialization challenge, but it shouldn't be insurmountable. I think