Open benwaffle opened 10 years ago
void gt::Platform::makeSharedFile() { if(processIsUnique() && !checkDirExist("/tmp/gfeed")) //If the pipe already exists we'll just use it if(mkfifo("/tmp/gfeed", 0755) == -1) throw std::runtime_error("Couldn't create pipe! Check your permissions or if /tmp/gfeed exists"); fd = open("/tmp/gfeed", O_RDONLY | O_NONBLOCK); // TODO: use streams if(fd == -1) throw std::runtime_error("Couldn't open pipe"); if(ld == -1) ld = open("/var/lock/gtorrent.lock", O_CREAT | O_RDONLY, 0600); if(ld == -1) throw std::runtime_error("Couldn't open pipe"); processIsUnique(); // a call here to lock the file }
/var/lock/gtorrent.lock
ld == -1
processIsUnique
ld != -1
/var/lock/gtorrent.lock
is not the path we use for the lockld == -1
checks are redundant sinceprocessIsUnique
will not return untilld != -1