[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