* fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than through

macro.  Set io_handle to INVALID_HANDLE_VALUE when setting flag to true.
This commit is contained in:
Christopher Faylor 2012-04-06 19:40:58 +00:00
parent 25fdb1ded1
commit 00ceaad134
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx>
* fhandler.h (fhandler_base::nohandle): Implement "by hand" rather than
through macro. Set io_handle to INVALID_HANDLE_VALUE when setting flag
to true.
2012-04-06 Christopher Faylor <me.cygwin2012@cgf.cx>
* path.c (path_conv::check): Avoid directly referencing fields of the

View File

@ -241,13 +241,20 @@ class fhandler_base
IMPLEMENT_STATUS_FLAG (bool, wbinset)
IMPLEMENT_STATUS_FLAG (bool, rbinset)
IMPLEMENT_STATUS_FLAG (bool, nohandle)
IMPLEMENT_STATUS_FLAG (bool, did_lseek)
IMPLEMENT_STATUS_FLAG (query_state, query_open)
IMPLEMENT_STATUS_FLAG (bool, close_on_exec)
IMPLEMENT_STATUS_FLAG (bool, need_fork_fixup)
IMPLEMENT_STATUS_FLAG (bool, isclosed)
bool nohandle () const {return !!status.nohandle;}
bool nohandle (bool val)
{
if ((status.nohandle = val))
io_handle = INVALID_HANDLE_VALUE;
return val;
}
int get_default_fmode (int flags);
virtual void set_close_on_exec (bool val);