]> git.lyx.org Git - lyx.git/blobdiff - src/support/socktools.C
* src/text2.C: deleteEmptyParagraphMechanism(): fix a crash in
[lyx.git] / src / support / socktools.C
index 1e6a0af1dea70ad6ab7954bd3779c299c9adcee8..6649df6fa9c544a9197f3ff168ce8894f32471b6 100644 (file)
 
 #include <config.h>
 
-#include "socktools.h"
+#include "support/socktools.h"
+#include "support/filename.h"
+
+#if !defined (HAVE_FCNTL)
+// We provide stubs because we don't (yet?) support the native OS API.
+
+namespace lyx {
+namespace support {
+namespace socktools {
+
+int listen(std::string const &, int)
+{
+       return -1;
+}
+
+
+int accept(int)
+{
+       return -1;
+}
+
+} // namespace socktools
+} // namespace support
+} // namespace lyx
+
+#else // defined (HAVE_FCNTL)
+
+#include "support/lyxlib.h"
+
 #include "debug.h"
-#include "lyxlib.h"
 
 #include <sys/socket.h>
 #include <sys/un.h>
 #include <fcntl.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 
 #include <cerrno>
 
@@ -86,7 +115,7 @@ int listen(string const & name, int queue)
                lyxerr << "lyx: Could not bind address '" << name
                       << "' to socket descriptor: " << strerror(errno) << endl;
                ::close(fd);
-               lyx::support::unlink(name);
+               unlink(FileName(name));
                return -1;
        }
 
@@ -99,7 +128,7 @@ int listen(string const & name, int queue)
                lyxerr << "lyx: Could not put socket in 'listen' state: "
                       << strerror(errno) << endl;
                ::close(fd);
-               lyx::support::unlink(name);
+               unlink(FileName(name));
                return -1;
        }
 
@@ -134,3 +163,5 @@ int accept(int sd)
 } // namespace socktools
 } // namespace support
 } // namespace lyx
+
+#endif // defined (HAVE_FCNTL)