Go to file
rafael2k e72af678ee I added the ::close() and the file pointer = 0 to all points where it throws exceptions in TcpSocket.cpp -- this fixed the issue where it would continue trying to write to the socket even though it was already closed by an error thanks to flush statements in the close method of TcpSocket and it's superclasses. This was causing the infinite loop on reconnect when there was still data in the buffer waiting to be transmitted (flushed) when the server closes the socket.
The other issue we fixed is that the aacpEncoder was not being tore down correctly so that when close() is called then it is open()ed again, it would carry on some of the state from the previous open()ing causing a read or write past the end of the buffer and resulting in a segfault core dump. The fix was to copy the variable initialization from the header file into the open() function just after the sanity checking code. This may potentially result in a memory leak as I don't understand the aacplus library's API well enough to know whether or not its resources are being properly freed.

by 
rfc822sucks at hotmail.com
2009-05-06 18:34:20 +00:00
darkice I added the ::close() and the file pointer = 0 to all points where it throws exceptions in TcpSocket.cpp -- this fixed the issue where it would continue trying to write to the socket even though it was already closed by an error thanks to flush statements in the close method of TcpSocket and it's superclasses. This was causing the infinite loop on reconnect when there was still data in the buffer waiting to be transmitted (flushed) when the server closes the socket. 2009-05-06 18:34:20 +00:00
website for release 0.19, re #39 2008-07-07 15:19:29 +00:00