Cygwin: pipes: remove unnecessary NULL checks for hdl_cnt_mtx

In view of the previous changes to open_setup, we can always assume
that hdl_cnt_mtx is non-NULL.
This commit is contained in:
Ken Brown 2021-09-18 09:25:20 -04:00
parent be08c5c40b
commit 643db9ec9e
1 changed files with 12 additions and 26 deletions

View File

@ -415,11 +415,9 @@ fhandler_pipe::reader_closed ()
{ {
if (!query_hdl) if (!query_hdl)
return false; return false;
if (hdl_cnt_mtx)
WaitForSingleObject (hdl_cnt_mtx, INFINITE); WaitForSingleObject (hdl_cnt_mtx, INFINITE);
int n_reader = get_obj_handle_count (query_hdl); int n_reader = get_obj_handle_count (query_hdl);
int n_writer = get_obj_handle_count (get_handle ()); int n_writer = get_obj_handle_count (get_handle ());
if (hdl_cnt_mtx)
ReleaseMutex (hdl_cnt_mtx); ReleaseMutex (hdl_cnt_mtx);
return n_reader == n_writer; return n_reader == n_writer;
} }
@ -583,18 +581,14 @@ fhandler_pipe::set_close_on_exec (bool val)
set_no_inheritance (select_sem, val); set_no_inheritance (select_sem, val);
if (query_hdl) if (query_hdl)
set_no_inheritance (query_hdl, val); set_no_inheritance (query_hdl, val);
if (hdl_cnt_mtx)
set_no_inheritance (hdl_cnt_mtx, val); set_no_inheritance (hdl_cnt_mtx, val);
} }
void void
fhandler_pipe::fixup_after_fork (HANDLE parent) fhandler_pipe::fixup_after_fork (HANDLE parent)
{ {
if (hdl_cnt_mtx)
{
fork_fixup (parent, hdl_cnt_mtx, "hdl_cnt_mtx"); fork_fixup (parent, hdl_cnt_mtx, "hdl_cnt_mtx");
WaitForSingleObject (hdl_cnt_mtx, INFINITE); WaitForSingleObject (hdl_cnt_mtx, INFINITE);
}
if (read_mtx) if (read_mtx)
fork_fixup (parent, read_mtx, "read_mtx"); fork_fixup (parent, read_mtx, "read_mtx");
if (select_sem) if (select_sem)
@ -603,7 +597,6 @@ fhandler_pipe::fixup_after_fork (HANDLE parent)
fork_fixup (parent, query_hdl, "query_hdl"); fork_fixup (parent, query_hdl, "query_hdl");
fhandler_base::fixup_after_fork (parent); fhandler_base::fixup_after_fork (parent);
if (hdl_cnt_mtx)
ReleaseMutex (hdl_cnt_mtx); ReleaseMutex (hdl_cnt_mtx);
} }
@ -614,7 +607,6 @@ fhandler_pipe::dup (fhandler_base *child, int flags)
ftp->set_popen_pid (0); ftp->set_popen_pid (0);
int res = 0; int res = 0;
if (hdl_cnt_mtx)
WaitForSingleObject (hdl_cnt_mtx, INFINITE); WaitForSingleObject (hdl_cnt_mtx, INFINITE);
if (fhandler_base::dup (child, flags)) if (fhandler_base::dup (child, flags))
res = -1; res = -1;
@ -645,8 +637,7 @@ fhandler_pipe::dup (fhandler_base *child, int flags)
ftp->close (); ftp->close ();
res = -1; res = -1;
} }
else if (hdl_cnt_mtx && else if (!DuplicateHandle (GetCurrentProcess (), hdl_cnt_mtx,
!DuplicateHandle (GetCurrentProcess (), hdl_cnt_mtx,
GetCurrentProcess (), &ftp->hdl_cnt_mtx, GetCurrentProcess (), &ftp->hdl_cnt_mtx,
0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS)) 0, !(flags & O_CLOEXEC), DUPLICATE_SAME_ACCESS))
{ {
@ -654,7 +645,6 @@ fhandler_pipe::dup (fhandler_base *child, int flags)
ftp->close (); ftp->close ();
res = -1; res = -1;
} }
if (hdl_cnt_mtx)
ReleaseMutex (hdl_cnt_mtx); ReleaseMutex (hdl_cnt_mtx);
debug_printf ("res %d", res); debug_printf ("res %d", res);
@ -671,16 +661,12 @@ fhandler_pipe::close ()
} }
if (read_mtx) if (read_mtx)
CloseHandle (read_mtx); CloseHandle (read_mtx);
if (hdl_cnt_mtx)
WaitForSingleObject (hdl_cnt_mtx, INFINITE); WaitForSingleObject (hdl_cnt_mtx, INFINITE);
if (query_hdl) if (query_hdl)
CloseHandle (query_hdl); CloseHandle (query_hdl);
int ret = fhandler_base::close (); int ret = fhandler_base::close ();
if (hdl_cnt_mtx)
{
ReleaseMutex (hdl_cnt_mtx); ReleaseMutex (hdl_cnt_mtx);
CloseHandle (hdl_cnt_mtx); CloseHandle (hdl_cnt_mtx);
}
return ret; return ret;
} }