For the memory profiler, it seems like some socket abstraction would
work fine. The master process can just listen on a IPC socket and the
messages can get broadcast to it.

jack.

On Thu, Jun 18, 2015 at 6:50 PM, Nicholas Nethercote
<n.netherc...@gmail.com> wrote:
> On Thu, Jun 18, 2015 at 5: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. In that case, the paint task lives in the chrome
>> process (since it has access to the GPU), so you're fine. The problematic
>> cases are essentially {script,layout} <-> (anything else).
>
> There's a similar case for the layout task, in
> components/script/layout_interface.rs
>
> impl Reporter for LayoutChan {
>     // Just injects an appropriate event into the layout task's queue.
>     fn collect_reports(&self, reports_chan: ReportsChan) -> bool {
>         let LayoutChan(ref c) = *self;
>         c.send(Msg::CollectReports(reports_chan)).is_ok()
>     }
> }
>
> And the script task will presumably be instrumented eventually.
>
> If there is one memory profiler per process then it might require some
> arrangement, but it'll probably work out ok.
>
> Nick
> _______________________________________________
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to