名称

zmq_ctx_term - 终止一个 0MQ 上下文

概要

int zmq_ctx_term (void '*context');

说明

zmq_ctx_term() 函数用于销毁 0MQ 上下文 'context'。

上下文终止过程按以下步骤执行:

  1. 当前在 'context' 中打开的套接字上进行的任何阻塞操作将立即返回,错误码为 ETERM。除了 zmq_close() 之外,在 'context' 中打开的套接字上的任何进一步操作都将失败,错误码为 ETERM。

  2. 中断所有阻塞调用后,zmq_ctx_term() 将会阻塞直到满足以下条件:

    • 在 'context' 中打开的所有套接字都已通过 zmq_close() 关闭。

    • 对于 'context' 中的每个套接字,应用程序使用 zmq_send() 发送的所有消息要么已物理传输到网络对端,要么使用 ZMQ_LINGER 套接字选项设置的套接字逗留期已过期。

有关套接字逗留行为的更多详细信息,请参阅 zmq_setsockopt 中的 ZMQ_LINGER 选项。

此函数取代了已弃用的函数 zmq_termzmq_ctx_destroy

返回值

如果成功,zmq_ctx_term() 函数将返回零。否则,它将返回 -1 并将 'errno' 设置为以下定义的值之一。

错误

EFAULT

提供的 'context' 无效。

EINTR

终止过程被信号中断。如果需要,可以重新开始。

另请参阅

作者

本页面由 0MQ 社区编写。要进行修改,请阅读 0MQ 贡献政策:https://zeromq.cn/how-to-contribute/