\r
#include "tcpsvcs.h"\r
\r
+extern BOOL bShutDown;\r
+\r
DWORD WINAPI DiscardHandler(VOID* Sock_)\r
{\r
DWORD RetVal = 0;\r
if (!RecieveIncomingPackets(Sock))\r
{\r
LogEvent(_T("Discard: RecieveIncomingPackets failed\n"), 0, FALSE);\r
- RetVal = -1;\r
+ RetVal = 1;\r
}\r
\r
LogEvent(_T("Discard: Shutting connection down...\n"), 0, FALSE);\r
else\r
{\r
LogEvent(_T("Discard: Connection shutdown failed\n"), 0, FALSE);\r
- RetVal = -1;\r
+ RetVal = 1;\r
}\r
\r
LogEvent(_T("Discard: Terminating thread\n"), 0, FALSE);\r
BOOL RecieveIncomingPackets(SOCKET Sock)\r
{\r
TCHAR ReadBuffer[BUF];\r
- TCHAR temp[512]; // temp for holding LogEvent text\r
+ TCHAR buf[256];\r
INT ReadBytes;\r
\r
do\r
ReadBytes = recv(Sock, ReadBuffer, BUF, 0);\r
if (ReadBytes > 0)\r
{\r
- _stprintf(temp, _T("Received %d bytes from client\n"), ReadBytes);\r
- LogEvent(temp, 0, FALSE);\r
+ _stprintf(buf, _T("Received %d bytes from client\n"), ReadBytes);\r
+ LogEvent(buf, 0, FALSE);\r
}\r
else if (ReadBytes == SOCKET_ERROR)\r
{\r
- _stprintf(temp, ("Socket Error: %d\n"), WSAGetLastError());\r
- LogEvent(temp, 0, TRUE);\r
+ _stprintf(buf, ("Socket Error: %d\n"), WSAGetLastError());\r
+ LogEvent(buf, 0, TRUE);\r
return FALSE;\r
}\r
- } while (ReadBytes > 0);\r
+ } while ((ReadBytes > 0) && (! bShutDown));\r
+\r
+ if (! bShutDown)\r
+ LogEvent(_T("Discard: Connection closed by peer.\n"), 0, FALSE);\r
\r
- LogEvent(_T("Discard: Connection closed by peer.\n"), 0, FALSE);\r
return TRUE;\r
}\r