Boost logo

Boost-Build :

Subject: Re: [Boost-build] async rule execution
From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2017-05-10 15:29:48


On Wed, May 10, 2017 at 10:24 AM, Steven Watanabe via Boost-build <
boost-build_at_[hidden]> wrote:

> AMDG
>
> On 05/10/2017 09:17 AM, Stefan Seefeld via Boost-build wrote:
> >
> > browsing the bjam sources I ran into
> >
> > /* Call the callback, may call back to jam rule land. */
> > (*cmdtab[ i ].func)( cmdtab[ i ].closure, rstat,
> &time_info,
> > cmdtab[ i ].buffer[ OUT ], cmdtab[ i ].buffer[ ERR ],
> > cmdtab[ i ].exit_reason );
> >
> > (https://github.com/boostorg/build/blob/develop/src/engine/
> execunix.c#L558-L561)
> >
> > which suggests it's possible to have a callback call into the b2 layer
> > (i.e., running some post-processing rule coded in Jam). Is that possible
> > ? The only callback implementation I could find was the `make1c_closure`
> > which is used to collect status information, but which isn't passed
> > directly on into Jam, and thus can only be processed synchronously once
> > the call to `builtin_update_now` has completed.
> >
> > Am I missing anything ?
> >
>
> http://www.boost.org/build/doc/html/jam/language.html#
> jam.language.variables.builtins.actionrule
>
> It's called in make1c_closure here:
> https://github.com/boostorg/build/blob/develop/src/engine/make1.c#L854

Of which nothing is async in the above. And further info.. The timing_rule
is used in testing.jam <
https://github.com/boostorg/build/blob/develop/src/tools/testing.jam#L800>.

-- 
-- Rene Rivera
-- Grafik - Don't Assume Anything
-- Robot Dreams - http://robot-dreams.net
-- rrivera/acm.org (msn) - grafikrobot/aim,yahoo,skype,efnet,gmail


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk