91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-09
  • 語言: 其他
  • 標簽: FIFO??管道PIPE??epoll??

資源簡介

FIFO配合管道PIPE,實現FIFO傳遞數據,PIPE觸發epoll,異步IO效果

資源截圖

代碼片段和文件信息

#include?“stdafx.h“

#include?
#include?
#include?“fifo.h“

static?int?sl_fifo_Cnt?=?0;


C_fifo::C_fifo()
{
m_Capacity?=?0;
m_NodeSize?=?0;
m_Fd?=?-1;

m_Head?=?NULL;
m_Tail?=?NULL;
m_p_NodeList?=?NULL;

m_p_pipe?=?NULL;

m_Node.p_next?=?NULL;
m_Node.p_data?=?NULL;
m_Node.v_size?=?0;
}

C_fifo::~C_fifo()
{
uninit();
if?(NULL?!=?m_p_pipe)
{
delete?m_p_pipe;
m_p_pipe?=?NULL;
}
}

int?C_fifo::init(unsigned?int?vp_MaxNode?unsigned?int?vp_NodeSize?const?char*?pp_PipeName)
{
char?al_fifoname[64];
char*?pl_fifoname?=?NULL;
unsigned?int?i;
unsigned?int?vl_OldCapacity;

vl_OldCapacity?=?m_Capacity;
m_Capacity?=?vp_MaxNode;
m_NodeSize?=?vp_NodeSize;
m_Fd?=?0;

if(NULL?!=?m_p_NodeList)
{
for?(i?=?0;?i? {
if(NULL?!=?m_p_NodeList[i].p_data)
{
delete?m_p_NodeList[i].p_data;
}
}

delete?m_p_NodeList;
m_p_NodeList?=?NULL;
}

if(NULL?!=?m_Node.p_data)
{
delete?m_Node.p_data;
m_Node.p_data?=?NULL;
}

m_p_NodeList?=?new?FifoNode[m_Capacity?+?1];
if?(NULL?==?m_p_NodeList)
{
printf(“new?fifo?node?fail\n“);

return?-1;
}

for?(i?=?0;?i? {
m_p_NodeList[i].v_size?=?0;
m_p_NodeList[i].p_data?=?(?char*?)new?char[m_NodeSize];
if?(NULL?==?m_p_NodeList[i].p_data)
{
printf(“new?fifo?node?data?fail\n“);

return?-1;
}

if?(i? {
m_p_NodeList[i].p_next?=?&m_p_NodeList[i?+?1];
}
else
{
m_p_NodeList[m_Capacity].p_next?=?&m_p_NodeList[0];
}
}

m_Node.p_data?=?(?char*?)new?char[m_NodeSize];
if?(NULL?==?m_Node.p_data)
{
printf(“new?fifo?data?node?fail\n“);

return?-1;
}

m_Head?=?&m_p_NodeList[0];
m_Tail?=?&m_p_NodeList[0];

if?(NULL?==?pp_PipeName)
{
sprintf(al_fifoname?“/tmp/fifo%d“?sl_fifo_Cnt);
pl_fifoname?=?al_fifoname;
}
else
{
pl_fifoname?=?(char*)pp_PipeName;
}
m_p_pipe?=?new?C_pipe(pl_fifoname);
if?(NULL?==?m_p_pipe)
{
printf(“new?pipe?fail\n“);

return?-1;
}

return?0;

}

int?C_fifo::uninit()
{
unsigned?int?i;

for?(i?=?0;?i? {
if?(m_p_NodeList?!=?NULL)
{
if?(m_p_NodeList[i].p_data?!=?NULL)
{
delete?m_p_NodeList[i].p_data;
m_p_NodeList[i].p_data?=?NULL;
}
}
}
if?(m_p_NodeList?!=?NULL)
{
delete?m_p_NodeList;
m_p_NodeList?=?NULL;
}

if?(m_Node.p_data?!=?NULL)
{
delete?m_Node.p_data;
m_Node.p_data?=?NULL;
}

m_Capacity?=?0;
m_NodeSize?=?0;

m_Head?=?NULL;
m_Tail?=?NULL;

return?0;
}

void?C_fifo::print_node()
{
unsigned?int?i?=?0;
printf(“---node:?%p---\n“?m_p_NodeList);
printf(“---pipe:?%p---\n“?m_p_pipe);
if?(NULL?!=?m_p_NodeList)
{
for?(i?=?0;?i? {
//printf(“node[%d]:?%p?“?i?m_p_NodeList[i].p_data);
}
}
}

int?C_fifo::get_fd()
{
int?vl_ret?=?-1;

if?(NULL?!=?m_p_p

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6968??2016-10-09?14:37??fifo\fifo.cpp

?????文件???????1050??2016-03-31?18:32??fifo\fifo.h

?????文件???????2688??2016-10-09?14:37??fifo\pipe.cpp

?????文件????????956??2016-10-09?14:37??fifo\pipe.h

?????目錄??????????0??2016-10-09?14:37??fifo

-----------?---------??----------?-----??----

????????????????11662????????????????????5


評論

共有 條評論