On Tue, 29 Mar 2022, Takashi Yano wrote: > diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h > index b87160edb..006c7b4bf 100644 > --- a/winsup/cygwin/fhandler.h > +++ b/winsup/cygwin/fhandler.h > @@ -1194,6 +1194,7 @@ private: > HANDLE hdl_cnt_mtx; > HANDLE query_hdl_proc; > HANDLE query_hdl_value; > + HANDLE query_hdl_close_req_evt; > uint64_t pipename_key; > DWORD pipename_pid; > LONG pipename_id; > @@ -1258,6 +1259,16 @@ public: > } > bool reader_closed (); > HANDLE temporary_query_hdl (); > + bool need_close_query_hdl () > + { > + return query_hdl_close_req_evt ? > + IsEventSignalled (query_hdl_close_req_evt) : false; > + } > + void request_close_query_hdl () > + { > + if (query_hdl_close_req_evt) > + SetEvent (query_hdl_close_req_evt); > + } > }; > > #define CYGWIN_FIFO_PIPE_NAME_LEN 47
Oh, a minor optimization: should close_query_handle also close (and NULL) the query_hdl_close_req_evt?