现在的位置: 首页 > 综合 > 正文

STL容器[34]

2013年06月19日 ⁄ 综合 ⁄ 共 593字 ⁄ 字号 评论关闭
SERVER以读打开FIFO;
CLIENT以写打开FIFO;
SERVER关闭FIFO;
CLIENT向当前FIFO写数据,此时CLIENT获得一个SIGPIPE信号。如果忽略该信号,那么write将返回-1,ERRNO为EPIPE
向一个写打开,当对端已经关闭的
void doPIPE (int a)
{
std::cout << "A:" << a << std::endl;
}
int main()
{
std::cout << "PIPE_BUF:"    << PIPE_BUF << std::endl;
struct sigaction sig;
sigemptyset(&sig.sa_mask);
sig.sa_handler = doPIPE;
        sig.sa_flags = 0;
        sigaction(SIGPIPE, &sig, NULL);
MT_Fifo c2s;
c2s.open(C2S_FIFO, MT_Fifo::EM_WRITE);
std::cout << "c2s fd:" << c2s.fd() << std::endl;
sleep(10);
std::cout << "To Send:" << std::endl;
int iRet = c2s.write(" ", 1);
std::cout << "Ret:" << iRet << "|Errno:" << errno << "|" << strerror(errno) << std::endl;
return 0;
}

抱歉!评论已关闭.