X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FServer.cpp;h=5f5d873f54d79e95d3534b4329bd931bf3fddd1f;hb=4300feb8595c8542050adedf664cd4bfda7ede12;hp=98e1d6632c9bd688c2fc7e7c94a5d2d76995ed31;hpb=db58111360d68f76c5797069a7b80967447d1379;p=lyx.git diff --git a/src/Server.cpp b/src/Server.cpp index 98e1d6632c..5f5d873f54 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -117,7 +117,7 @@ string errormsg(DWORD const error) return message; } -} // namespace anon +} // namespace DWORD WINAPI pipeServerWrapper(void * arg) @@ -137,14 +137,14 @@ DWORD WINAPI pipeServerWrapper(void * arg) LyXComm::LyXComm(string const & pip, Server * cli, ClientCallbackfct ccb) - : stopserver_(0), pipename_(pip), client_(cli), clientcb_(ccb) + : stopserver_(0), + ready_(false), pipename_(pip), client_(cli), clientcb_(ccb), + deferred_loading_(false) { for (int i = 0; i < MAX_PIPES; ++i) { event_[i] = 0; pipe_[i].handle = INVALID_HANDLE_VALUE; } - ready_ = false; - deferred_loading_ = false; openConnection(); } @@ -199,8 +199,8 @@ bool LyXComm::pipeServer() LYXERR(Debug::LYXSERVER, "LyXComm: Connection established"); ready_ = true; outbuf_.erase(); - DWORD status; - bool success; + DWORD status = 0; + bool success = false; while (!checkStopServer()) { // Indefinitely wait for the completion of an overlapped @@ -730,10 +730,10 @@ void LyXComm::send(string const & msg) #else // defined (HAVE_MKFIFO) LyXComm::LyXComm(string const & pip, Server * cli, ClientCallbackfct ccb) - : pipename_(pip), client_(cli), clientcb_(ccb) + : infd_(-1), outfd_(-1), + ready_(false), pipename_(pip), client_(cli), clientcb_(ccb), + deferred_loading_(false) { - ready_ = false; - deferred_loading_ = false; openConnection(); } @@ -997,7 +997,7 @@ struct Sleep : QThread } }; -} // namespace anon +} // namespace bool LyXComm::loadFilesInOtherInstance() @@ -1067,7 +1067,10 @@ Server::~Server() string message; for (int i = 0; i != numclients_; ++i) { message = "LYXSRV:" + clients_[i] + ":bye\n"; - pipes_.send(message); + // ignore exceptions, we are quitting anyway + try { + pipes_.send(message); + } catch (...) {} } } @@ -1162,7 +1165,7 @@ void Server::callback(string const & msg) << client << " said goodbye"); } else { LYXERR(Debug::LYXSERVER, - "Server: ignoring bye messge from unregistered client" << client); + "Server: ignoring bye message from unregistered client" << client); } } else { LYXERR0("Server: Undefined server command " << cmd << '.');