mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-31 11:30:56 +08:00
* dtable.cc (set_std_handle): Call SetStdHandle with NULL if fd is closed.
(dtable::release): "Close" standard handle if appropriate. * dcrt0.cc (dll_crt0_0): Fix minor switch formatting problem. * fork.cc (frok::parent): Make minor comment indentation change.
This commit is contained in:
parent
c1c62a1368
commit
30fa154939
@ -1,3 +1,11 @@
|
||||
2012-03-20 Christopher Faylor <me.cygwin2012@cgf.cx>
|
||||
|
||||
* dtable.cc (set_std_handle): Call SetStdHandle with NULL if fd is
|
||||
closed.
|
||||
(dtable::release): "Close" standard handle if appropriate.
|
||||
* dcrt0.cc (dll_crt0_0): Fix minor switch formatting problem.
|
||||
* fork.cc (frok::parent): Make minor comment indentation change.
|
||||
|
||||
2012-03-20 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* syscalls.cc (lseek): Fix debug output.
|
||||
|
@ -744,13 +744,13 @@ dll_crt0_0 ()
|
||||
cygwin_user_h = child_proc_info->user_h;
|
||||
switch (child_proc_info->type)
|
||||
{
|
||||
case _CH_FORK:
|
||||
fork_info->handle_fork ();
|
||||
break;
|
||||
case _CH_SPAWN:
|
||||
case _CH_EXEC:
|
||||
spawn_info->handle_spawn ();
|
||||
break;
|
||||
case _CH_FORK:
|
||||
fork_info->handle_fork ();
|
||||
break;
|
||||
case _CH_SPAWN:
|
||||
case _CH_EXEC:
|
||||
spawn_info->handle_spawn ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,10 +65,11 @@ dtable_init ()
|
||||
void __stdcall
|
||||
set_std_handle (int fd)
|
||||
{
|
||||
fhandler_base *fh = cygheap->fdtab[fd];
|
||||
if (fd == 0)
|
||||
SetStdHandle (std_consts[fd], cygheap->fdtab[fd]->get_handle ());
|
||||
SetStdHandle (std_consts[fd], fh ? fh->get_handle () : NULL);
|
||||
else if (fd <= 2)
|
||||
SetStdHandle (std_consts[fd], cygheap->fdtab[fd]->get_output_handle ());
|
||||
SetStdHandle (std_consts[fd], fh ? fh->get_output_handle () : NULL);
|
||||
}
|
||||
|
||||
int
|
||||
@ -244,6 +245,8 @@ dtable::release (int fd)
|
||||
dec_need_fixup_before ();
|
||||
fds[fd]->refcnt (-1);
|
||||
fds[fd] = NULL;
|
||||
if (fd <= 2)
|
||||
set_std_handle (fd);
|
||||
}
|
||||
|
||||
extern "C" int
|
||||
|
@ -354,14 +354,14 @@ frok::parent (volatile char * volatile stack_here)
|
||||
while (1)
|
||||
{
|
||||
hchild = NULL;
|
||||
rc = CreateProcessW (myself->progname, /* image to run */
|
||||
myself->progname, /* what we send in arg0 */
|
||||
rc = CreateProcessW (myself->progname, /* image to run */
|
||||
myself->progname, /* what we send in arg0 */
|
||||
&sec_none_nih,
|
||||
&sec_none_nih,
|
||||
TRUE, /* inherit handles from parent */
|
||||
TRUE, /* inherit handles from parent */
|
||||
c_flags,
|
||||
NULL, /* environment filled in later */
|
||||
0, /* use current drive/directory */
|
||||
NULL, /* environment filled in later */
|
||||
0, /* use current drive/directory */
|
||||
&si,
|
||||
&pi);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user