SG_GET_NUM_WAITING 0x227d. 假设第三个参数指向一个 int 型变量,并将等待读取的数据包数量放入其中。 仅计算由 write() 发出且现在可以被 read() 读取的请求。 换句话说,在此文件描述符上正在进行的任何 ioctl(SG_IO) 操作都不会影响此计数 [1]。
如果 ioctl(SG_SET_KEEP_ORPHAN) 设置为 1,并且 ioctl(SG_IO) 操作被中断(例如,用户按下 control-C),那么当响应到达时,“num_waiting”将递增以指示 read() 现在可以获取响应。