[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-253
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-253-g02a4441 |
Date: |
Fri, 28 May 2010 11:58:54 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU MyServer".
The branch, master has been updated
via 02a444106a21c3c757b3b58977e78f1a036c20ce (commit)
via b6dbfb58fcfdf429bbfde914a628bfbcf5485050 (commit)
via 0452992670c2f90fad8e7a2b93d5e2186afb239d (commit)
from dfdc6a1d856b83d9fe598c50007e565a24275e49 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 02a444106a21c3c757b3b58977e78f1a036c20ce
Author: Giuseppe Scrivano <address@hidden>
Date: Fri May 28 13:58:33 2010 +0200
Remove a connection immediately if the socket is closed.
diff --git a/myserver/src/server/clients_thread.cpp
b/myserver/src/server/clients_thread.cpp
index b16a530..0d2eb0f 100644
--- a/myserver/src/server/clients_thread.cpp
+++ b/myserver/src/server/clients_thread.cpp
@@ -259,11 +259,16 @@ int ClientsThread::controlConnections ()
dataRead = c->getConnectionBuffer ()->getLength ();
if (! c->isForceControl ())
- err = c->socket->recv (&((char*)(buffer.getBuffer ()))[dataRead],
- MYSERVER_KB (8) - dataRead - 1, 0);
+ {
+ err = c->socket->recv (&((char*)(buffer.getBuffer ()))[dataRead],
+ MYSERVER_KB (8) - dataRead - 1, 0);
- if (err == -1 && !server->deleteConnection (c))
- return 0;
+ if (err <= 0)
+ {
+ server->deleteConnection (c);
+ return 0;
+ }
+ }
buffer.setLength (dataRead + err);
c->setForceControl (0);
commit b6dbfb58fcfdf429bbfde914a628bfbcf5485050
Author: Giuseppe Scrivano <address@hidden>
Date: Fri May 28 12:24:19 2010 +0200
Call directly `stat' to check if a path exists.
diff --git a/myserver/src/base/file/files_utility.cpp
b/myserver/src/base/file/files_utility.cpp
index b042c8a..fac0ddf 100644
--- a/myserver/src/base/file/files_utility.cpp
+++ b/myserver/src/base/file/files_utility.cpp
@@ -268,14 +268,8 @@ int FilesUtility::isLink (const char* filename)
int FilesUtility::nodeExists (const char* filename)
{
struct stat fstats;
- try
- {
- checked::stat (filename, &fstats);
- }
- catch (...)
- {
- return 0;
- }
+ if (::stat (filename, &fstats) < 0)
+ return 0;
return 1;
}
commit 0452992670c2f90fad8e7a2b93d5e2186afb239d
Author: Giuseppe Scrivano <address@hidden>
Date: Fri May 28 12:14:55 2010 +0200
Avoid an exception `accept'ing from a nonblocking socket.
diff --git a/myserver/src/base/socket/socket.cpp
b/myserver/src/base/socket/socket.cpp
index 1376266..57eb5c9 100644
--- a/myserver/src/base/socket/socket.cpp
+++ b/myserver/src/base/socket/socket.cpp
@@ -183,15 +183,20 @@ int Socket::listen (int max)
/*!
Accept a new connection.
*/
-Socket* Socket::accept (MYSERVER_SOCKADDR* sa, socklen_t* sockaddrlen)
+Socket* Socket::accept (MYSERVER_SOCKADDR *sa, socklen_t *sockaddrlen)
{
- int acceptedHandle = checked::accept (fd, (struct sockaddr *)sa,
+ int acceptedHandle = gnulib::accept (fd, (struct sockaddr *)sa,
sockaddrlen);
- if (acceptedHandle >= 0)
- return new Socket ((SocketHandle) acceptedHandle);
- else
- return NULL;
+ if (acceptedHandle < 0)
+ {
+ if (errno == EAGAIN)
+ return NULL;
+ else
+ checked::raiseException ();
+ }
+
+ return new Socket (acceptedHandle);
}
/*!
-----------------------------------------------------------------------
Summary of changes:
myserver/src/base/file/files_utility.cpp | 10 ++--------
myserver/src/base/socket/socket.cpp | 17 +++++++++++------
myserver/src/server/clients_thread.cpp | 13 +++++++++----
3 files changed, 22 insertions(+), 18 deletions(-)
hooks/post-receive
--
GNU MyServer
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-253-g02a4441,
Giuseppe Scrivano <=