Thread: pg_test_fsync file descriptor leak

pg_test_fsync file descriptor leak

From
Jeff Janes
Date:
The open_datasync code opens the output file as a test to make sure the flags are accepted by the OS, and if it succeeds it then immediately opens the file again with the same flags, overwriting and so leaking the descriptor from the previous open.


On Windows MinGW, this prevents the final unlink from working, as the file is still open.

Trivial fix attached.

Thanks,

Jeff


Attachment

Re: pg_test_fsync file descriptor leak

From
Robert Haas
Date:
On Tue, Nov 18, 2014 at 3:41 PM, Jeff Janes <jeff.janes@gmail.com> wrote:
> The open_datasync code opens the output file as a test to make sure the
> flags are accepted by the OS, and if it succeeds it then immediately opens
> the file again with the same flags, overwriting and so leaking the
> descriptor from the previous open.
>
> On Windows MinGW, this prevents the final unlink from working, as the file
> is still open.
>
> Trivial fix attached.

Committed and back-patched to 9.1.  Thanks.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company