拆离设备队列管理例程

用途

在调用detchq内核服务时,提供执行特定设备处理的方法。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/deviceq.h>
int detach( dev_parms,  path_id)
caddr_t dev_parms;
cba_id path_id;

参数

描述
dev_parms 在定义detach例程时传递给creatd服务。
path_id 指定要与之断开连接的队列的路径标识。

描述

分离例程是设备队列管理内核扩展的一部分。 每个设备队列都有一个分离例程。 此例程为可选例程,必须在使用creatd服务定义设备队列时指定。 每次删除设备队列的路径时,detchq服务都会调用detach例程。

为确保在该客户端的队列元素仍在设备队列中时不调用分离例程,内核会在设备队列末尾放置一个分离控制队列元素。 根据约定,服务器知道拆离控制队列元素表示该路径的所有暂挂队列元素已完成。 内核会在处理完分离控制队列元素后调用分离例程。

detach例程在调用detchq服务的进程下执行。 内核不会将此服务的执行与任何其他服务器例程的执行进行序列化。

执行环境

脱离例程只能从进程环境中调用。

返回值

描述
RC_GOOD 指示成功完成。

RC_GOOD 之外的返回值指示导致系统故障的不可恢复情况。