1 #include "daq/slc/system/Fifo.h"
3 #include <daq/slc/base/IOException.h>
13 Fifo Fifo::mkfifo(
const std::string& path)
15 ::mkfifo(path.c_str(), 0666);
17 fifo.open(path.c_str());
21 void Fifo::open(
const std::string& path,
const std::string& mode_s)
24 if (mode_s.find(
"w") != std::string::npos) {
26 if (mode_s.find(
"r") != std::string::npos) {
30 if ((m_fd = ::open(path.c_str(), mode)) < 0) {
36 void Fifo::unlink(
const std::string& path)
38 if ((::unlink(path.c_str())) < 0) {
44 size_t Fifo::write(
const void* buf,
size_t count)
46 return ::write(m_fd, buf, count);
49 size_t Fifo::read(
void* buf,
size_t count)
51 return ::read(m_fd, buf, count);