diff options
author | Thomas Radke <tradke@aei.mpg.de> | 2002-03-11 15:34:30 (GMT) |
---|---|---|
committer | Thomas Radke <tradke@aei.mpg.de> | 2002-03-11 15:34:30 (GMT) |
commit | d777eed63fa1d223014532b8f20f9365594fdcaf (patch) | |
tree | 338f84133f4f3fbc9aa214ba9347193b10a44964 /src | |
parent | d750a7054119f72c3aa4611a37ce3badd26b71fb (diff) | |
download | hdf5-d777eed63fa1d223014532b8f20f9365594fdcaf.zip hdf5-d777eed63fa1d223014532b8f20f9365594fdcaf.tar.gz hdf5-d777eed63fa1d223014532b8f20f9365594fdcaf.tar.bz2 |
[svn-r5061]
Purpose:
Bugfix
Description:
If the socket used for data streaming by the Stream driver was created
by the driver itself, it did not close it after the file had been closed.
A resource leak occured.
Solution:
This bug was just introduced due to a logical condition.
Fixing the condition solved the problem.
Platforms tested:
Linux, SGI
Diffstat (limited to 'src')
-rw-r--r-- | src/H5FDstream.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/H5FDstream.c b/src/H5FDstream.c index 27a53cc..fcbee7e 100644 --- a/src/H5FDstream.c +++ b/src/H5FDstream.c @@ -520,7 +520,7 @@ H5FDstream_open_socket (const char *filename, int o_flags, /* Return if opening the socket failed */ if (*errormsg) { - if (H5FD_STREAM_ERROR_CHECK (sock)) + if (! H5FD_STREAM_ERROR_CHECK (sock)) { H5FD_STREAM_CLOSE_SOCKET (sock); sock = H5FD_STREAM_INVALID_SOCKET; @@ -754,7 +754,7 @@ static H5FD_t *H5FD_stream_open (const char *filename, the opened socket is not needed anymore */ if (errormsg == NULL) { - if (_stream.internal_socket && H5FD_STREAM_ERROR_CHECK (_stream.socket)) + if (_stream.internal_socket && ! H5FD_STREAM_ERROR_CHECK (_stream.socket)) { H5FD_STREAM_CLOSE_SOCKET (_stream.socket); } @@ -784,7 +784,7 @@ static H5FD_t *H5FD_stream_open (const char *filename, { H5MM_xfree (_stream.mem); } - if (_stream.internal_socket && H5FD_STREAM_ERROR_CHECK (_stream.socket)) + if (_stream.internal_socket && ! H5FD_STREAM_ERROR_CHECK (_stream.socket)) { H5FD_STREAM_CLOSE_SOCKET (_stream.socket); } @@ -902,7 +902,7 @@ static herr_t H5FD_stream_close (H5FD_t *_stream) } /* Release resources */ - if (H5FD_STREAM_ERROR_CHECK (stream->socket) && stream->internal_socket) + if (! H5FD_STREAM_ERROR_CHECK (stream->socket) && stream->internal_socket) { H5FD_STREAM_CLOSE_SOCKET (stream->socket); } |