[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [3038] Don't use blocking sockets for protocols that d
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [3038] Don't use blocking sockets for protocols that don' t wait for client data to begin the handshake. |
Date: |
Sun, 29 Mar 2009 20:34:33 +0000 |
Revision: 3038
http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=3038
Author: gscrivano
Date: 2009-03-29 20:34:32 +0000 (Sun, 29 Mar 2009)
Log Message:
-----------
Don't use blocking sockets for protocols that don't wait for client data to
begin the handshake.
Modified Paths:
--------------
trunk/myserver/src/server/clients_thread.cpp
trunk/myserver/src/server/server.cpp
Modified: trunk/myserver/src/server/clients_thread.cpp
===================================================================
--- trunk/myserver/src/server/clients_thread.cpp 2009-03-29 18:03:43 UTC
(rev 3037)
+++ trunk/myserver/src/server/clients_thread.cpp 2009-03-29 20:34:32 UTC
(rev 3038)
@@ -315,26 +315,12 @@
busy = 1;
dataRead = c->connectionBuffer.getLength();
- bool bSocketChanged = false;
- if ( strcmp(c->host->getProtocolName(), "ftp") == 0 )
- {
- FileHandle sh = c->socket->getHandle();
- int flags = fcntl((int)sh, F_GETFL, 0);
- if ( (flags >= 0) && ((flags & O_NONBLOCK) == 0) )
- {
- c->socket->setNonBlocking(1);
- bSocketChanged = true;
- }
- }
err = c->socket->recv(&((char*)(buffer.getBuffer()))[dataRead],
MYSERVER_KB(8) - dataRead - 1, 0);
if(err == -1 && !server->deleteConnection(c))
return 0;
- if ( bSocketChanged )
- c->socket->setNonBlocking(0);
-
buffer.setLength(dataRead + err);
c->setForceControl(0);
Modified: trunk/myserver/src/server/server.cpp
===================================================================
--- trunk/myserver/src/server/server.cpp 2009-03-29 18:03:43 UTC (rev
3037)
+++ trunk/myserver/src/server/server.cpp 2009-03-29 20:34:32 UTC (rev
3038)
@@ -1447,6 +1447,7 @@
{
newConnection->setScheduled(1);
newConnection->setForceControl(1);
+ newConnection->socket->setNonBlocking (1);
connectionsScheduler.addNewReadyConnection(newConnection);
}
else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [3038] Don't use blocking sockets for protocols that don' t wait for client data to begin the handshake.,
Giuseppe Scrivano <=