summaryrefslogtreecommitdiff
path: root/doc/zmq_term.3
blob: 6c5db93a253489a66d6e348014236712523e8fc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
'\" t
.\"     Title: zmq_term
.\"    Author: [see the "AUTHORS" section]
.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
.\"      Date: 04/04/2012
.\"    Manual: 0MQ Manual
.\"    Source: 0MQ 2.2.0
.\"  Language: English
.\"
.TH "ZMQ_TERM" "3" "04/04/2012" "0MQ 2\&.2\&.0" "0MQ Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
zmq_term \- terminate 0MQ context
.SH "SYNOPSIS"
.sp
\fBint zmq_term (void \fR\fB\fI*context\fR\fR\fB);\fR
.SH "DESCRIPTION"
.sp
The \fIzmq_term()\fR function shall terminate the 0MQ context \fIcontext\fR\&.
.sp
Context termination is performed in the following steps:
.sp
.RS 4
.ie n \{\
\h'-04' 1.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  1." 4.2
.\}
Any blocking operations currently in progress on sockets open within
\fIcontext\fR
shall return immediately with an error code of ETERM\&. With the exception of
\fIzmq_close()\fR, any further operations on sockets open within
\fIcontext\fR
shall fail with an error code of ETERM\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04' 2.\h'+01'\c
.\}
.el \{\
.sp -1
.IP "  2." 4.2
.\}
After interrupting all blocking calls,
\fIzmq_term()\fR
shall
\fIblock\fR
until the following conditions are satisfied:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
All sockets open within
\fIcontext\fR
have been closed with
\fIzmq_close()\fR\&.
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
For each socket within
\fIcontext\fR, all messages sent by the application with
\fIzmq_send()\fR
have either been physically transferred to a network peer, or the socket\(cqs linger period set with the
\fIZMQ_LINGER\fR
socket option has expired\&.
.RE
.RE
.sp
For further details regarding socket linger behaviour refer to the \fIZMQ_LINGER\fR option in \fBzmq_setsockopt\fR(3)\&.
.SH "RETURN VALUE"
.sp
The \fIzmq_term()\fR function shall return zero if successful\&. Otherwise it shall return \-1 and set \fIerrno\fR to one of the values defined below\&.
.SH "ERRORS"
.PP
\fBEFAULT\fR
.RS 4
The provided
\fIcontext\fR
was invalid\&.
.RE
.PP
\fBEINTR\fR
.RS 4
Termination was interrupted by a signal\&. It can be restarted if needed\&.
.RE
.SH "SEE ALSO"
.sp
\fBzmq\fR(7) \fBzmq_init\fR(3) \fBzmq_close\fR(3) \fBzmq_setsockopt\fR(3)
.SH "AUTHORS"
.sp
This manual page was written by the 0MQ community\&.