curl-library
[PATCH] HTTP pipelining test
From: Linus Nielsen Feltzing <linus_at_haxx.se>
Date: Tue, 16 Apr 2013 09:27:37 +0200
Date: Tue, 16 Apr 2013 09:27:37 +0200
Use poll() instead of epoll(), since that is Linux-only.
---
tests/http_pipe.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/tests/http_pipe.py b/tests/http_pipe.py
index 67185be..66a453e 100755
--- a/tests/http_pipe.py
+++ b/tests/http_pipe.py
@@ -357,8 +357,8 @@ class PipelineRequestHandler(SocketServer.BaseRequestHandler):
self._send_buffer = ""
self._start_time = time.time()
try:
- poller = select.epoll(sizehint=1)
- poller.register(self.request.fileno(), select.EPOLLIN)
+ poller = select.poll()
+ poller.register(self.request.fileno(), select.POLLIN)
while not self._response_builder.processed_end or self._send_buffer:
time_left = self._GetTimeUntilTimeout()
@@ -369,10 +369,10 @@ class PipelineRequestHandler(SocketServer.BaseRequestHandler):
if max_poll_time > 0:
if self._send_buffer:
poller.modify(self.request.fileno(),
- select.EPOLLIN | select.EPOLLOUT)
+ select.POLLIN | select.POLLOUT)
else:
- poller.modify(self.request.fileno(), select.EPOLLIN)
- events = poller.poll(timeout=max_poll_time)
+ poller.modify(self.request.fileno(), select.POLLIN)
+ events = poller.poll(max_poll_time)
if self._GetTimeUntilTimeout() <= 0:
return
@@ -383,7 +383,7 @@ class PipelineRequestHandler(SocketServer.BaseRequestHandler):
self._last_queued_time = 0
for fd, mode in events:
- if mode & select.EPOLLIN:
+ if mode & select.POLLIN:
new_data = self.request.recv(MAX_REQUEST_SIZE, socket.MSG_DONTWAIT)
if not new_data:
return
@@ -392,7 +392,7 @@ class PipelineRequestHandler(SocketServer.BaseRequestHandler):
new_requests, self._request_parser.were_all_requests_http_1_1)
self._num_queued += len(new_requests)
self._last_queued_time = time.time()
- elif mode & select.EPOLLOUT:
+ elif mode & select.POLLOUT:
num_bytes_sent = self.request.send(self._send_buffer[0:4096])
self._send_buffer = self._send_buffer[num_bytes_sent:]
time.sleep(0.05)
--
1.7.10.4
--------------010202040009060302040800
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
--------------010202040009060302040800--
Received on 2001-09-17