I have an a subsystem derived from UEngineSubsystem to handle UDP networking. The subsystem starts up UDP sockets, handles communication and closes them down when the subsystem ends. Within in the overridden Deinitialize function, I delete the receiver and close the socket. As I do each of these steps I do put in the log what is happening. It appears that the Deinitialize function might not being called, unless I am doing something wrong. I do not see any of my log entries reported in the Deinitialize function in the log and on occasions the socket is not released properly. This can show up as two situations… 1 - When the socket is not released, I have to restart the computer before I can receive data again (I guess the port is still in use), 2 - The receive thread still appears to be running and causes an exception.
Would you expect UE_LOG calls in the Deinitialize function to appear in the log ?
Any thoughts would be appreciated.