[PATCH] Run postinstall scripts in a thread with progress bars - take 3

Robert Collins rbcollins@cygwin.com
Tue Mar 25 00:09:00 GMT 2003


On Tue, 2003-03-25 at 11:00, Igor Pechtchanski wrote:


> > 3) reused in RunFindVisitor.
> 
> No.  In fact, the code currently in RunFindVisitor is broken and will not
> work if there are subdirectories under /etc/postinstall.  What I would
> like to do (in a separate patch) is change FindVisitor so that basePath is
> the POSIX path, rather than the Windows one.  We can then simply
> concatenate the filename to it and use that.

Ok. There aren't allowed to directories under /etc/postinstall BTW.

> > run_package_scripts cries our for a helper class IMO.
> >
> > i.e. ScriptRunner with
> > a) constructor
> > b) destructor
> > c) run(std::vector<Script> const &) method.
> > d) operator () (Script const &aScript) method.
> 
> I don't see the benefit of run(); it'll be subsumed by operator(), IMO.
> Otherwise, I'll give it a shot.

well, you'll have one instance of ScriptRunner for both the dependency
order package scripts, and the found-by-filename scripts. If you have
pre-running-a-vector or post-running-a-vector code, then that belongs in
run(). If that code goes into the constructor, then sure, eliminate
run().

> > this:
> > for (std::vector<Script>::iterator script = scripts.begin();
> > +       script != scripts.end();
> > +       ++script)
> >
> > then becomes
> > *this = for_each (scripts.begin(), scripts.end(), *this);
> 
> We could probably just lose the return value...

Check the template, IIRC it takes a copy of the object, calls the copy's
operator (), then returns a copy of the copy.

i.e. if we want failure stats, script run counts etc, we need the return
value.

Rob
-- 
GPG key available at: <http://users.bigpond.net.au/robertc/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20030325/5c5c48e9/attachment.sig>


More information about the Cygwin-apps mailing list