59 if (!
fUrl.
Set(url,
"|keep|xon|noinit|",
"fifo", emsg))
return false;
85 struct stat stat_fifo;
86 int irc = ::stat(name.c_str(), &stat_fifo);
88 if ((stat_fifo.st_mode & S_IFIFO) == 0) {
89 emsg.
Init(
"RlinkPortFifo::OpenFiFo()",
90 string(
"'") + name +
"' exists but is not a pipe");
94 mode_t mode = S_IRUSR | S_IWUSR;
95 irc = ::mkfifo(name.c_str(), mode);
97 emsg.
InitErrno(
"RlinkPortFifo::OpenFifo()",
98 string(
"mkfifo() for '") + name +
"' failed: ",
105 irc = ::open(name.c_str(), snd ? O_WRONLY : O_RDONLY);
107 emsg.
InitErrno(
"RlinkPortFifo::OpenFifo()",
108 string(
"open() for '") + name +
"' failed: ",
void Init(const std::string &meth, const std::string &text)
FIXME_docs.
void InitErrno(const std::string &meth, const std::string &text, int errnum)
FIXME_docs.
RlinkPortFifo()
Default constructor.
virtual bool Open(const std::string &url, RerrMsg &emsg)
FIXME_docs.
virtual ~RlinkPortFifo()
Destructor.
int OpenFifo(const std::string &, bool snd, RerrMsg &emsg)
FIXME_docs.
bool IsOpen() const
FIXME_docs.
bool fXon
xon attribute set
virtual void Close()
FIXME_docs.
bool FindOpt(const std::string &name) const
FIXME_docs.
bool Set(const std::string &url, const std::string &optlist, RerrMsg &emsg)
FIXME_docs.
const std::string & Path() const
FIXME_docs.
Declaration of class ReventLoop.