simple execvp test

Christopher Faylor cgf@redhat.com
Fri Oct 19 09:16:00 GMT 2001


On Fri, Oct 19, 2001 at 12:07:04PM +0200, Pavel Tsekov wrote:
>Pavel Tsekov wrote:
>> 
>> I'm looking at the spawn_guts code to see if
>> there is something in this setup which may
>> broke execvp.
>> 
>
>Btw I found something which may broke spawn_guts,
>though I dont think this is the case with
>James - see below:
>
>This code is from spawn_guts - the interesting thing
>about it is that it doesn set the errno (__seterrno())
>if the DuplicateHandle doesnt succeed. All the other
>Win32 apis which a called though the spawn_guts set
>the errno if they fail.
>
>So if we have execvp which loops through the PATH while
>it finds the executable thus executing spawn_guts many
>times most of which it fails with ENOENT and if spawn_guts
>fail to duplicate handle the errno will still be set to
>ENOENT which is not correct, maybe :)
>
>  if (!DuplicateHandle (hMainProc, hMainProc, hMainProc,
>&ciresrv.parent, 0, 1,
>                        DUPLICATE_SAME_ACCESS))
>     {
>       system_printf ("couldn't create handle to myself for child, %E");
>       return -1;
>     }

Did you see this error message?  If not, why are you mentioning this
code?

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list