[Rd] best practice for packages using mclapply to avoid tcltk
peter dalgaard
pdalgd at gmail.com
Wed Feb 6 12:06:21 CET 2013
On Feb 6, 2013, at 10:29 , Martin Maechler wrote:
>>>>>> "PJ" == Paul Johnson <pauljohn32 at gmail.com>
>>>>>> on Tue, 5 Feb 2013 22:25:01 -0600 writes:
>
>> On Sun, Feb 3, 2013 at 1:34 PM, Simon Urbanek
>> <simon.urbanek at r-project.org> wrote:
>>> As Peter pointed out earlier, this is better addressed by
>>> disabling the Tcl/Tk event loop in forked processes.
>>>
>> Dear Simon:
>
>> I don't understand. Can you please try to say it again?
>
>> I find Peter's comment (on Jan 3, 2013, thread title:
>> weird bug with parallel, RSQlite and tcltk):
>
>> "More likely, the wisdom of calling R_ProcessEvents and
>> R_PolledEvents in parallel processes should be
>> questioned. I tend to think that they should both be
>> disabled completely conditionally on R_isForkedChild.
>> At least in the Tk loop, some of the events are
>> generated as responses to specific queries, and having
>> one process ask for something and another one handling
>> the reply, leaving the first one waiting indefinitely,
>> is just Not Right."
>
>> That suggested to me the problem is in R itself, or the
>> tcltk package
>
> Well, it should have suggested that the problem should be
> addressed "in R itself"…
Exactly. Except that I worried about possible side effects enough that I didn't go in and fix things myself (I am not completely up to speed on the internals of the parallel stuff). So Brian did it.
> and it now has been:
>
> The NEWS for R 2.15.2 patched (and hence "R devel" and all
> future versions of R)
In principle, that is a non sequitur, but in this case, the change was ported FROM R-devel (r61839).
(As a general matter, it is possible for R-devel to diverge from R-patched to such an extent that modifications to one don't make sense for the other. This usually doesn't happen, though.)
> now contain
>
> The Tcl/Tk event loop is inhibited in a forked child (as in e.g.
> mclapply().
--
Peter Dalgaard, Professor
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
More information about the R-devel
mailing list