HP Rp7410 BSD Sockets Interface Programmer's Guide - Page 114

timout

Page 114 highlights

Advanced Topics for Internet Datagram Sockets Synchronous I/O Multiplexing with Select Synchronous I/O Multiplexing with Select The select system call can be used with sockets to provide a synchronous multiplexing mechanism. The system call has several parameters which govern its behavior. If you specify a zero pointer for the timeout parameter timout, select will block until one or more of the specified socket descriptors is ready. If timout is a non-zero pointer, it specifies a maximum interval to wait for the selection to complete. select is useful for datagram socket descriptors to determine when data have arrived and are ready to be read without blocking; use the FIONREAD parameter to the ioctl system call to determine exactly how much data are available. select for exceptional conditions will return true for BSD sockets if out-of- band data is available. select will always return true for sockets which are no longer capable of being used (e.g. if a close or shutdown system call has been executed against them). select is used in the same way as in other applications. Refer to the select(2) man page for information on how to use select. 114 Chapter 5

  • 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
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196

114
Chapter 5
Advanced Topics for Internet Datagram Sockets
Synchronous I/O Multiplexing with Select
Synchronous I/O Multiplexing with
Select
The
select
system call can be used with sockets to provide a
synchronous multiplexing mechanism. The system call has several
parameters which govern its behavior. If you specify a zero pointer for
the timeout parameter
timout
,
select
will block until one or more of
the specified socket descriptors is ready. If
timout
is a non-zero pointer,
it specifies a maximum interval to wait for the selection to complete.
select
is useful for datagram socket descriptors to determine when
data have arrived and are ready to be read without blocking; use the
FIONREAD parameter to the
ioctl
system call to determine exactly
how much data are available.
select
for exceptional conditions will return true for BSD sockets if
out-of- band data is available.
select
will always return true for sockets
which are no longer capable of being used (e.g. if a
close
or
shutdown
system call has been executed against them).
select
is used in the same way as in other applications. Refer to the
select(2)
man page for information on how to use
select
.