56 std::vector<std::string> args = {
"-p", std::to_string(tcpPort),
"-r",
"0",
"-vvv" };
57#ifdef ENABLE_INDI_SHARED_MEMORY
59 args.push_back(unixSocketPath);
63 unlink(fifoPath.c_str());
64 if (mkfifo(fifoPath.c_str(), 0600) == -1) {
65 throw std::system_error(
errno, std::generic_category(),
"mkfifo");
68 args.push_back(fifoPath);
77 throw new std::runtime_error(
"Fifo is not enabled - cannot add driver");
80 int fifoFd = open(fifoPath.c_str(), O_WRONLY);
82 throw std::system_error(
errno, std::generic_category(),
"opening fifo");
85 std::string
cmd =
"start " + driver +
"\n";
86 int wr = write(fifoFd,
cmd.data(),
cmd.length());
90 throw std::system_error(e, std::generic_category(),
"write to fifo");