HTTPServer::stopAll(): close the socket instead of just shutting it down, as the latter won't wake up a select() on Windows

This commit is contained in:
Aleksandar Fabijanic 2012-06-21 02:18:31 +00:00
parent 378077f209
commit d9dd2a81bd
2 changed files with 32 additions and 30 deletions

View File

@ -1,18 +1,18 @@
This is the changelog file for the POCO C++ Libraries. This is the changelog file for the POCO C++ Libraries.
Release 1.5.0 (2012-07-04) Release 1.5.0 (2012-07-30)
========================== ==========================
- added JSON - added JSON
- added Util::JSONConfiguration - added Util::JSONConfiguration
- added PDF - added PDF
- added PRoGen - added FIFOBuffer and FIFOBufferStream
- added FIFOBuffer
- fixed SF# 3522906: Unregistering handlers from SocketReactor - fixed SF# 3522906: Unregistering handlers from SocketReactor
- fixed SF# 3522084: AbstractConfiguration does not support 64-bit integers - fixed SF# 3522084: AbstractConfiguration does not support 64-bit integers
- HTTPServer::stopAll(): close the socket instead of just shutting it down, as the latter won't wake up a select() on Windows
Release 1.4.4 (2012-04-??) Release 1.4.4 (2012-07-??)
========================== ==========================
- ZipStream now builds correctly in unbundled build. - ZipStream now builds correctly in unbundled build.

View File

@ -78,7 +78,8 @@ void HTTPServerConnection::run()
try try
{ {
Poco::FastMutex::ScopedLock lock(_mutex); Poco::FastMutex::ScopedLock lock(_mutex);
if (!_stopped)
{
HTTPServerResponseImpl response(session); HTTPServerResponseImpl response(session);
HTTPServerRequestImpl request(response, session, _pParams); HTTPServerRequestImpl request(response, session, _pParams);
@ -108,6 +109,7 @@ void HTTPServerConnection::run()
throw; throw;
} }
} }
}
catch (NoMessageException&) catch (NoMessageException&)
{ {
break; break;
@ -138,7 +140,7 @@ void HTTPServerConnection::onServerStopped(const bool& abortCurrent)
{ {
try try
{ {
socket().shutdown(); socket().close();
} }
catch (...) catch (...)
{ {
@ -150,7 +152,7 @@ void HTTPServerConnection::onServerStopped(const bool& abortCurrent)
try try
{ {
socket().shutdown(); socket().close();
} }
catch (...) catch (...)
{ {