[setup] [PATCH] Redirect stdin from /dev/null when running postinstall scripts
Max Bowsher
maxb@ukf.net
Wed Sep 15 11:32:00 GMT 2004
Reini Urban wrote:
> Max Bowsher schrieb:
>> Igor Pechtchanski wrote:
>>> The patch below redirects stdin from /dev/null when running postinstall
>>> scripts, so that installation doesn't hang if a program called from a
>>> postinstall script decides to ask the user something. AFAICS, this is
>>> against the CVS HEAD.
>>> Igor
>>> ==============================================================================
>>>
>>> ChangeLog:
>>> 2004-09-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
>>>
>>> * script.cc (run): Kill stdin when running scripts.
>>>
>>>
>>> Index: script.cc
>>> ===================================================================
>>> RCS file: /cvs/cygwin-apps/setup/script.cc,v
>>> retrieving revision 2.16
>>> diff -u -p -r2.16 script.cc
>>> --- script.cc 12 Apr 2003 13:35:03 -0000 2.16
>>> +++ script.cc 13 Sep 2004 18:06:17 -0000
>>> @@ -178,7 +178,7 @@ run (const char *sh, const char *args, c
>>> {
>>> inheritHandles = TRUE;
>>> si.dwFlags |= STARTF_USESTDHANDLES;
>>> - si.hStdInput = GetStdHandle (STD_INPUT_HANDLE);
>>> + si.hStdInput = INVALID_HANDLE_VALUE;
>>> si.hStdOutput = file_out.handle ();
>>> si.hStdError = file_out.handle ();
>>> si.dwFlags |= STARTF_USESHOWWINDOW;
>>
>>
>> I tried to test this patch, but I wasn't able to reproduce the hang even
>> before applying it !?
>> Could you explain how to reproduce the hang?
>
> put a read in any postinstall script (expecting user-input)
That's what I did!
I'm using WinXP - what's your OS?
Is there anything about your environment which could cause setup to have a
non-functional but block-on-able stdin?
Max.
More information about the Cygwin-apps
mailing list