请输入您要查询的百科知识:

 

词条 send_fd
释义

int send_id (int spipefd, int filedes);

int send_err(int spipefd, int status, const char *errmsg);

int recv_fd(int spipefd, ssize_t (*userfunc)(int, const void *, size_t));

当一个进程(通常是服务器)希望将一个文件描述符传送给另一个进程时,它调用s e n d _ f d或s e n d _ e r r。等待接收描述符的进程(客户机)调用r e c v _ f d。

s e n d _ f d经由流管道s p i p e f d发送描述符f i l e d e s。s e n d _ e r r 经由流管道s p i p e f d发送e r r m s g和 s t a t u s字节。s t a t u s的值应在-1 ~-2 5 5之间。

客户机调用r e c v _ f d接收一描述符。如果一切正常(发送者调用了s e n d _ f d),则作为函数值返回非负描述符。否则,返回值是由s e n d _ e r r发送的s t a t u s(-1 ~-2 5 5之间的一个值)。

另外,如果服务器发送了一条出错消息,则客户机调用它自己的u s e r f u n c处理该消息。

u s e r f u n c的第一个参数是常数S T D E R R _ F I L E N O,然后是指向出错消息的指针及其长度。客户机常将u s e r f u n c指定为U N I X的w r i t e函数。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/9 9:11:58