Commit d5dfe984 authored by Fred Drake's avatar Fred Drake

Fix a number of minor problems pointed out by /F.

parent 0d6e6e0b
...@@ -17,9 +17,9 @@ There are only two ways to have a program on a single processor do ...@@ -17,9 +17,9 @@ There are only two ways to have a program on a single processor do
``more than one thing at a time.'' Multi-threaded programming is the ``more than one thing at a time.'' Multi-threaded programming is the
simplest and most popular way to do it, but there is another very simplest and most popular way to do it, but there is another very
different technique, that lets youhave nearly all the advantages of different technique, that lets youhave nearly all the advantages of
multi-threading, without actually using multiple threads. it's really multi-threading, without actually using multiple threads. It's really
only practical if your program is largely I/O bound. If your program only practical if your program is largely I/O bound. If your program
is CPU bound, then pre-emtpive scheduled threads are probably what is CPU bound, then pre-emptive scheduled threads are probably what
you really need. Network servers are rarely CPU-bound, however. you really need. Network servers are rarely CPU-bound, however.
If your operating system supports the \cfunction{select()} system call If your operating system supports the \cfunction{select()} system call
...@@ -28,7 +28,7 @@ multiple communication channels at once; doing other work while your ...@@ -28,7 +28,7 @@ multiple communication channels at once; doing other work while your
I/O is taking place in the ``background.'' Although this strategy can I/O is taking place in the ``background.'' Although this strategy can
seem strange and complex, especially at first, it is in many ways seem strange and complex, especially at first, it is in many ways
easier to understand and control than multi-threaded programming. easier to understand and control than multi-threaded programming.
The module documented here solves manyof the difficult problems for The module documented here solves many of the difficult problems for
you, making the task of building sophisticated high-performance you, making the task of building sophisticated high-performance
network servers and clients a snap. network servers and clients a snap.
...@@ -115,16 +115,17 @@ def handle_write(self): ...@@ -115,16 +115,17 @@ def handle_write(self):
In addition, there are the basic methods needed to construct and In addition, there are the basic methods needed to construct and
manipulate ``channels,'' which are what we will call the socket manipulate ``channels,'' which are what we will call the socket
connections in this context. Note that most of these are nearly connections in this context. Note that most of these are nearly
identical to their \class{socket} partners. identical to their socket partners.
\begin{methoddesc}{create_socket}{family, type} \begin{methoddesc}{create_socket}{family, type}
This is identical to the creation of a normal socket, and This is identical to the creation of a normal socket, and
will use the same options for creation. This means you will will use the same options for creation. Refer to the
need to reference the \refmodule{socket} module. \refmodule{socket} documentation for information on creating
sockets.
\end{methoddesc} \end{methoddesc}
\begin{methoddesc}{connect}{address} \begin{methoddesc}{connect}{address}
As with the normal \class{socket} object, \var{address} is a As with the normal socket object, \var{address} is a
tuple with the first element the host to connect to, and the tuple with the first element the host to connect to, and the
second the port. second the port.
\end{methoddesc} \end{methoddesc}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment