// 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;
}
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 {
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."