Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
fc9823b1
Commit
fc9823b1
authored
Jun 07, 2002
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clarify the interaction between blocking and timeouts. Explain that
fromfd() assumes a blocking non-timeout socket.
parent
e8008f00
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
16 deletions
+23
-16
Doc/lib/libsocket.tex
Doc/lib/libsocket.tex
+23
-16
No files found.
Doc/lib/libsocket.tex
View file @
fc9823b1
...
...
@@ -284,7 +284,8 @@ checked --- subsequent operations on the object may fail if the file
descriptor is invalid. This function is rarely needed, but can be
used to get or set socket options on a socket passed to a program as
standard input or output (such as a server started by the
\UNIX
{}
inet
daemon).
daemon). The socket is assumed to be created in blocking mode without
a timeout.
Availability:
\UNIX
.
\end{funcdesc}
...
...
@@ -515,29 +516,35 @@ block until they can proceed.
\end{methoddesc}
\begin{methoddesc}
[socket]
{
settimeout
}{
value
}
Set a timeout on blocking socket operations. Value can be any numeric
value or
\code
{
None
}
. Socket operations will raise an
\exception
{
error
}
exception if the timeout period
\var
{
value
}
has
elapsed before the operation has completed. Setting a timeout of
\code
{
None
}
disables timeouts on socket operations.
Set a timeout on blocking socket operations. Value can be a
nonnegative float expressing seconds, or
\code
{
None
}
. If a float is
give, subsequent socket operations will raise an
\exception
{
error
}
exception if the timeout period
\var
{
value
}
has elapsed before the
operation has completed. Setting a timeout of
\code
{
None
}
disables
timeouts on socket operations.
\versionadded
{
2.3
}
\end{methoddesc}
\begin{methoddesc}
[socket]
{
gettimeout
}{}
Returns the timeout in floating seconds associated with socket
operations. A timeout of
\code
{
None
}
indicates that timeouts on
socket operations are disabled.
operations, or
\code
{
None
}
if no timeout is set.
\versionadded
{
2.3
}
\end{methoddesc}
Some notes on the interaction between socket blocking and timeouts:
socket blocking mode takes precedence over timeouts. If a socket is
set to non-blocking mode, then timeouts are not used.
The timeout value associated with the socket can still be set using
\method
{
settimeout()
}
and its value retrieved using
\method
{
gettimeout()
}
, but the timeout is never enforced (an exception
will never be thrown). Otherwise, if the socket is in blocking mode,
setting the timeout will raise an exception as expected.
Some notes on the interaction between socket blocking and timeouts: A
socket object can be in one of three modes: blocking, non-blocking, or
timout. Sockets are always created in blocking mode. In blocking
mode, operations block until complete. In non-blocking mode,
operations fail (with an error that is unfortunately system-dependent)
if they cannot be completed immediately. In timeout mode, operations
fail if they cannot be completed within the timeout specified for the
socket.
Calling
\method
{
settimeout()
}
cancels non-blocking mode as set by
\method
{
setblocking()
}
; calling
\method
{
setblocking()
}
cancels a
previously set timeout. Setting the timeout to zero acts similarly
but is implemented different than setting the socket in non-blocking
mode (this could be considered a bug and may even be fixed).
\begin{methoddesc}
[socket]
{
setsockopt
}{
level, optname, value
}
Set the value of the given socket option (see the
\UNIX
{}
manual page
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment