[PATCH] Setup postinstall logging - take X
Robert Collins
rbcollins@cygwin.com
Sat Mar 15 22:26:00 GMT 2003
Igor Pechtchanski wrote:
> Sorry for the '?' in the subject - I think I lost track...
>
> On 15 Mar 2003, Robert Collins wrote:
>>Don't worry. What would be good would be to make it start minimized.
...
> Ok, I've figured out how to hide the console altogether (see attached
> patch, though the CREATE_NO_WINDOW is probably overkill). Could someone
> familiar with the Windows CreateProcess mechanism make sure this is ok?
> Also, this needs testing on Win95 again. Brian?
>
> On another note, now that the window is not shown at all, setup simply
> seems to hang while long-running postinstall scripts (e.g., post-texmf.sh,
> with run-time of ~2 minutes!) are executed. Perhaps we should a) run
> postinstall scripts from a separate thread, so that setup at least reacts
> to Windows events, such as REPAINT, and b) have another dialog saying
> "Running postinstall scripts", perhaps even with a progress bar (even if
> the bar only reflects progress by scripts executed rather than time -- I'm
> not sure if it's even possible to correctly reflect temporal progress).
That would be nice. A trivial step to take is to minimize, not hide, the
window. Then the user will see flicky things happening in their tool
bar, which may reduce the panic.
>
> The new one conflicts both with the above and with the cleanup patch I
> posted today... Unless some of them are committed, it's going to get
> hairy fast, eh, Rob? ;-)
Nay. You'll want to merge in the HEAD script.cc changes though.
>>> If to_log, redirect output to temporary file.
>>> (openOutputLog): New helper function.
>>
>>This should return void and throw an exception on failure...
>>OR
>>use a class and set a status member.
>
>
> Ok. I've created an OutputLog class that encapsulates this behavior.
> I've put the Close() into the destructor. Hopefully this is what you
> meant.
Yep, looking good.
>>The define BUFLEN should be a static const member of the class.
>
> Umm, which class? It's only used in static functions. I left it as a
> #define for now.
Err just realised. log.h and log.cc are deprecated. Thats why they have
the foo_bar naming style and no classes. It's probably best as an
operator for OutputLog (given that it's a layer on top of the log
infrastructure) - i.e.
LogSingleton::GetInstance()(LOG_PLAIN) << file_out;
And removing the logfile then becomes part of OutputLog::~OutputLog. Hey
this is starting to be too easy :}.
> Thanks, but I think this needs testing on Win95 again (for the
> CreateProcess magic).
Ok.
Can you make the window minimized, not hidden? Otherwise we should put
the requisite UI changes in place first.
Rob
More information about the Cygwin-apps
mailing list