Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05271 Core Minor Always Aug 25, 2013, 17:28 Aug 26, 2013, 01:21
Tester mizapf View Status Public Platform
Assigned To Resolution Open OS
Status [?] Confirmed Driver
Version 0.149u1 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 05271: All systems using sdlsocket: Inappropriate reaction on failed connection with sdlsocket
Description If the emulator cannot connect to the socket that has been specified to sdlsocket, it tried to create a socket on this address, which actually fails (and the emulator silently stops, without error message).
Steps To Reproduce
Additional Information It seems as if the sdlsocket is treated the same way as any other corefile, which means that when it cannot be opened, the core tries to create it. This becomes obvious when inserting printf into sdl_open_socket: On the next attempt to connect, the flag OPEN_FLAG_CREATE is set. The emulation silently returns, maybe as a consequence of a runtime error (segfault not reported).

This is obviously not a good option for socket handling. A server socket is not a replacement for a client socket.

Concerning possible ways to solve this issue: In Java, socket streams and file streams are related (both inheriting from InputStream and OutputStream), but File and Socket are two unrelated classes. It may be reasonable to handle files and sockets separately. Another way could be to parametrize the behavior of corefile; hence it will have a file mode and a socket mode.
Github Commit
Flags
Regression Version
Affected Sets / Systems All systems using sdlsocket
Attached Files
 
Relationships
There are no relationship linked to this issue.
Notes
0
There are no notes attached to this issue.