X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxsocket.C;h=d48ea477d4b7001c0a2c0ffdd7ea43bb67432c45;hb=f8f59e97fb06149528a180c5964c9abb27e079a1;hp=806d06dd900569b1150fe4bf950642071278ed26;hpb=57494b23bac1faa38eeadb630cc0650a6df7f962;p=lyx.git diff --git a/src/lyxsocket.C b/src/lyxsocket.C index 806d06dd90..d48ea477d4 100644 --- a/src/lyxsocket.C +++ b/src/lyxsocket.C @@ -24,6 +24,7 @@ #include "frontends/Application.h" #include "support/environment.h" +#include "support/filename.h" #include "support/lyxlib.h" #include "support/socktools.h" @@ -63,7 +64,7 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr) // Needed by lyxclient support::setEnv("LYXSOCKET", address_); - theApp->registerSocketCallback( + theApp()->registerSocketCallback( fd_, boost::bind(&LyXServerSocket::serverCallback, this) ); @@ -77,12 +78,13 @@ LyXServerSocket::LyXServerSocket(LyXFunc * f, string const & addr) LyXServerSocket::~LyXServerSocket() { if (fd_ != -1) { - theApp->unregisterSocketCallback(fd_); - if (close(fd_) != 0) + BOOST_ASSERT (theApp()); + theApp()->unregisterSocketCallback(fd_); + if (::close(fd_) != 0) lyxerr << "lyx: Server socket " << fd_ << " IO error on closing: " << strerror(errno); } - support::unlink(address_); + support::unlink(support::FileName(address_)); lyxerr[Debug::LYXSERVER] << "lyx: Server socket quitting" << endl; } @@ -113,7 +115,7 @@ void LyXServerSocket::serverCallback() // Register the new client. clients[client_fd] = shared_ptr(new LyXDataSocket(client_fd)); - theApp->registerSocketCallback( + theApp()->registerSocketCallback( client_fd, boost::bind(&LyXServerSocket::dataCallback, this, client_fd) @@ -168,7 +170,7 @@ void LyXServerSocket::writeln(string const & line) { string const linen(line + '\n'); int const size = linen.size(); - int const written = write(fd_, linen.c_str(), size); + int const written = ::write(fd_, linen.c_str(), size); if (written < size) { // Always mean end of connection. if ((written == -1) && (errno == EPIPE)) { // The program will also receive a SIGPIPE @@ -207,11 +209,11 @@ LyXDataSocket::LyXDataSocket(int fd) LyXDataSocket::~LyXDataSocket() { - if (close(fd_) != 0) + if (::close(fd_) != 0) lyxerr << "lyx: Data socket " << fd_ << " IO error on closing: " << strerror(errno); - theApp->unregisterSocketCallback(fd_); + theApp()->unregisterSocketCallback(fd_); lyxerr[Debug::LYXSERVER] << "lyx: Data socket " << fd_ << " quitting." << endl; } @@ -231,7 +233,7 @@ bool LyXDataSocket::readln(string & line) int count; // read and store characters in buffer - while ((count = read(fd_, charbuf, charbuf_size - 1)) > 0) { + while ((count = ::read(fd_, charbuf, charbuf_size - 1)) > 0) { buffer_.append(charbuf, charbuf + count); } @@ -265,7 +267,7 @@ void LyXDataSocket::writeln(string const & line) { string const linen(line + '\n'); int const size = linen.size(); - int const written = write(fd_, linen.c_str(), size); + int const written = ::write(fd_, linen.c_str(), size); if (written < size) { // Always mean end of connection. if ((written == -1) && (errno == EPIPE)) { // The program will also receive a SIGPIPE