Changeset 18:6fb655114e1e
- Timestamp:
- 06/12/05 23:10:01
(3 years ago)
- Author:
- Allan Saddi <allan@saddi.com>
- branch:
- default
- convert_revision:
- svn:46762da8-4eb7-0310-94e9-d918b60927c8/flup/trunk@1796
- Message:
Cleanly close connection socket to avoid sending a TCP RST to
the web server. (fcgi_base)
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r17 |
r18 |
|
| | 1 | 2005-06-12 Allan Saddi <asaddi@europa.saddi.net> |
|---|
| | 2 | |
|---|
| | 3 | * Cleanly close connection socket to avoid sending a TCP RST to |
|---|
| | 4 | the web server. (fcgi_base) Fix suggested by Dima Barsky. |
|---|
| | 5 | |
|---|
| 1 | 6 | 2005-05-31 Allan Saddi <asaddi@ganymede.saddi.net> |
|---|
| 2 | 7 | |
|---|
| r14 |
r18 |
|
| 620 | 620 | def _cleanupSocket(self): |
|---|
| 621 | 621 | """Close the Connection's socket.""" |
|---|
| | 622 | try: |
|---|
| | 623 | self._sock.shutdown(socket.SHUT_WR) |
|---|
| | 624 | except: |
|---|
| | 625 | return |
|---|
| | 626 | try: |
|---|
| | 627 | while True: |
|---|
| | 628 | r, w, e = select.select([self._sock], [], []) |
|---|
| | 629 | if not r or not self._sock.recv(1024): |
|---|
| | 630 | break |
|---|
| | 631 | except: |
|---|
| | 632 | pass |
|---|
| 622 | 633 | self._sock.close() |
|---|
| 623 | 634 | |
|---|
| … | … | |
| 702 | 713 | |
|---|
| 703 | 714 | if not (req.flags & FCGI_KEEP_CONN) and not self._requests: |
|---|
| 704 | | self._sock.close() |
|---|
| | 715 | self._cleanupSocket() |
|---|
| 705 | 716 | self._keepGoing = False |
|---|
| 706 | 717 | |
|---|