Cygwin: make callers of open_setup check for failure
open_setup is called by dtable::init_std_file_from_handle and fhandler_base::open_with_arch. In both cases, failure of open_setup is now a fatal error. Currently this can only happen in the following situation: A Cygwin process is started by a non-Cygwin process, one of the standard IO handles is a pipe handle, and Cygwin is unable to create a required mutex (read_mtx or hdl_cnt_mtx).
This commit is contained in:
parent
6fc0aa8e5d
commit
be08c5c40b
|
@ -412,7 +412,8 @@ dtable::init_std_file_from_handle (int fd, HANDLE handle)
|
|||
fhp->set_pipe_buf_size ();
|
||||
}
|
||||
|
||||
fh->open_setup (openflags);
|
||||
if (!fh->open_setup (openflags))
|
||||
api_fatal ("open_setup failed, %E");
|
||||
fh->usecount = 0;
|
||||
cygheap->fdtab[fd] = fh;
|
||||
cygheap->fdtab[fd]->inc_refcnt ();
|
||||
|
|
|
@ -471,7 +471,8 @@ fhandler_base::open_with_arch (int flags, mode_t mode)
|
|||
archetype_usecount (1);
|
||||
usecount = 0;
|
||||
}
|
||||
open_setup (flags);
|
||||
if (!open_setup (flags))
|
||||
api_fatal ("open_setup failed, %E");
|
||||
}
|
||||
|
||||
close_on_exec (flags & O_CLOEXEC);
|
||||
|
|
Loading…
Reference in New Issue