]> git.lyx.org Git - lyx.git/blobdiff - src/lyxsocket.C
cleanup after svn hang-up, #undef CursorShape. Should be compilable ganin now.
[lyx.git] / src / lyxsocket.C
index e9d7918a92c088a692c04603d9365cd14cd4f61b..4af70e10b22c66843a39c08d009995862c1e72d2 100644 (file)
@@ -74,8 +74,12 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr)
 // Close the socket and remove the address of the filesystem.
 LyXServerSocket::~LyXServerSocket()
 {
-       lyx_gui::unregister_socket_callback(fd_);
-       ::close(fd_);
+       if (fd_ != -1) {
+               lyx_gui::unregister_socket_callback(fd_);
+               if (::close(fd_) != 0)
+                       lyxerr << "lyx: Server socket " << fd_
+                              << " IO error on closing: " << strerror(errno);
+       }
        lyx::support::unlink(address_);
        lyxerr[Debug::LYXSERVER] << "lyx: Server socket quitting" << endl;
 }
@@ -136,7 +140,7 @@ void LyXServerSocket::dataCallback(int fd)
                if (key == "LYXCMD") {
                        string const cmd = line.substr(pos + 1);
                        func->dispatch(lyxaction.lookupFunc(cmd));
-                       string const rval = func->getMessage();
+                       string const rval = lyx::to_utf8(func->getMessage());
                        if (func->errorStat()) {
                                client->writeln("ERROR:" + cmd + ':' + rval);
                        } else {
@@ -201,7 +205,9 @@ LyXDataSocket::LyXDataSocket(int fd)
 
 LyXDataSocket::~LyXDataSocket()
 {
-       ::close(fd_);
+       if (::close(fd_) != 0)
+               lyxerr << "lyx: Data socket " << fd_
+                      << " IO error on closing: " << strerror(errno);
 
        lyx_gui::unregister_socket_callback(fd_);
        lyxerr[Debug::LYXSERVER] << "lyx: Data socket " << fd_ << " quitting."