清空消息隊列的緩存buffer

串口通訊 ios

 

Unix終端I/O函數。做用:清空終端未完成的輸入/輸出請求及數據。
 
包含頭文件:
1
#include <termios.h>
1
int  tcflush( int  fd,  int  queue_selector);
參數說明:[1]  
1
2
3
4
5
6
7
8
9
fd                 // 終端I/O打開的句柄
 
queue_selector     // 控制tcflush的操做,取值爲下面三個常數中的一個:
 
     TCIFLUSH   // 清除正收到的數據,且不會讀取出來。
 
     TCOFLUSH   // 清除正寫入的數據,且不會發送至終端。
 
     TCIOFLUSH  // 清除全部正在發生的I/O數據。
返回值說明:
1
2
3
0      // 成功
 
-1     // 失敗,而且爲 errno 置值來指示錯誤

 

 

 

void CVirtualSerial::serial_flush(void)
{
if(this->m_fd!=-1) //serial_fd有效
{
tcflush(this->m_fd, TCIFLUSH);
tcflush(this->m_fd, TCOFLUSH);
}
}函數

 

 

消息隊列this

void MessageQueue::Destroy()
{
msgctl( msg_id, IPC_RMID, 0 );
}spa

相關文章
相關標籤/搜索