Cygwin: drop path_conv::reset_conv_handle
path_conv::reset_conv_handle is only called after fhandler::copyto has been called. This duplicated the path_conv_handle if there was one, so just setting the conv handle to NULL potentially produces a handle leak. Replace reset_conv_handle calls with calls to close_conv_handle and drop the reset_conv_handle method. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
parent
c875ed3744
commit
5f0913df13
|
@ -687,7 +687,7 @@ dtable::dup_worker (fhandler_base *oldfh, int flags)
|
|||
if (!oldfh->archetype)
|
||||
newfh->set_handle (NULL);
|
||||
|
||||
newfh->pc.reset_conv_handle ();
|
||||
newfh->pc.close_conv_handle ();
|
||||
if (oldfh->dup (newfh, flags))
|
||||
{
|
||||
delete newfh;
|
||||
|
|
|
@ -98,7 +98,7 @@ fhandler_pipe::open (int flags, mode_t mode)
|
|||
continue;
|
||||
cfd->copyto (this);
|
||||
set_handle (NULL);
|
||||
pc.reset_conv_handle ();
|
||||
pc.close_conv_handle ();
|
||||
if (!cfd->dup (this, flags))
|
||||
return 1;
|
||||
return 0;
|
||||
|
|
|
@ -406,7 +406,6 @@ class path_conv
|
|||
return conv_handle.get_finfo (h, fs.is_nfs ());
|
||||
}
|
||||
inline ino_t get_ino () const { return conv_handle.get_ino (fs.is_nfs ()); }
|
||||
void reset_conv_handle () { conv_handle.set (NULL); }
|
||||
void close_conv_handle () { conv_handle.close (); }
|
||||
|
||||
ino_t get_ino_by_handle (HANDLE h);
|
||||
|
|
Loading…
Reference in New Issue