loolwsd/LOOLBroker.cpp | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-)
New commits: commit 3fd57d9c968395bd1178d2222e80eb76cbc9d2b8 Author: Henry Castro <hcas...@collabora.com> Date: Sun Sep 27 17:39:25 2015 -0400 loolwsd: open reader FIFO to read messages from client diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp index f120ff6..aaeede4 100644 --- a/loolwsd/LOOLBroker.cpp +++ b/loolwsd/LOOLBroker.cpp @@ -57,11 +57,13 @@ using Poco::Process; using Poco::Thread; using Poco::ProcessHandle; +const std::string FIFO_FILE = "/tmp/loolwsdfifo"; const std::string FIFO_BROKER = "/tmp/loolbroker.fifo"; const std::string BROKER_SUFIX = ".fifo"; const std::string BROKER_PREFIX = "/tmp/lokit"; static int readerChild = -1; +static int readerBroker = -1; static unsigned int childCounter = 0; @@ -376,38 +378,43 @@ int main(int argc, char** argv) if (loSubPath.empty()) { std::cout << Util::logPrefix() << "--losubpath is empty" << std::endl; - exit(1); + exit(-1); } if (sysTemplate.empty()) { std::cout << Util::logPrefix() << "--systemplate is empty" << std::endl; - exit(1); + exit(-1); } if (loTemplate.empty()) { std::cout << Util::logPrefix() << "--lotemplate is empty" << std::endl; - exit(1); + exit(-1); } if (childRoot.empty()) { std::cout << Util::logPrefix() << "--childroot is empty" << std::endl; - exit(1); + exit(-1); } if ( !_numPreSpawnedChildren ) { std::cout << Util::logPrefix() << "--numprespawns is 0" << std::endl; - exit(1); + exit(-1); + } + + if ( (readerBroker = open(FIFO_FILE.c_str(), O_RDONLY) ) < 0 ) + { + std::cout << Util::logPrefix() << "pipe error: " << strerror(errno) << std::endl; + exit(-1); } std::unique_lock<std::mutex> rngLock(_rngMutex); Poco::UInt64 _childId = (((Poco::UInt64)_rng.next()) << 32) | _rng.next() | 1; rngLock.unlock(); - Path jail = Path::forDirectory(childRoot + Path::separator() + std::to_string(_childId)); File(jail).createDirectories(); @@ -424,7 +431,7 @@ int main(int argc, char** argv) if (!File("loolkit").exists()) { std::cout << Util::logPrefix() << "loolkit does not exists" << std::endl; - exit(1); + exit(-1); } File("loolkit").copyTo(Path(jail, "/usr/bin").toString()); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits