[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r5043 - libmicrohttpd/src/daemon
From: |
gnunet |
Subject: |
[GNUnet-SVN] r5043 - libmicrohttpd/src/daemon |
Date: |
Wed, 13 Jun 2007 17:01:22 -0600 (MDT) |
Author: grothoff
Date: 2007-06-13 17:01:21 -0600 (Wed, 13 Jun 2007)
New Revision: 5043
Modified:
libmicrohttpd/src/daemon/daemon.c
libmicrohttpd/src/daemon/session.c
Log:
fix
Modified: libmicrohttpd/src/daemon/daemon.c
===================================================================
--- libmicrohttpd/src/daemon/daemon.c 2007-06-13 22:35:05 UTC (rev 5042)
+++ libmicrohttpd/src/daemon/daemon.c 2007-06-13 23:01:21 UTC (rev 5043)
@@ -58,7 +58,7 @@
return MHD_NO;
ah = ah->next;
}
- ah = malloc(sizeof(MHD_AccessHandlerCallback));
+ ah = malloc(sizeof(struct MHD_AccessHandler));
ah->next = daemon->handlers;
ah->uri_prefix = strdup(uri_prefix);
ah->dh = dh;
@@ -186,7 +186,8 @@
}
if ( ( (FD_ISSET(con->socket_fd, &rs)) &&
(MHD_YES != MHD_session_handle_read(con)) ) ||
- ( (FD_ISSET(con->socket_fd, &ws)) &&
+ ( (con->socket_fd != -1) &&
+ (FD_ISSET(con->socket_fd, &ws)) &&
(MHD_YES != MHD_session_handle_write(con)) ) )
break;
}
@@ -214,9 +215,10 @@
memset(&addr,
0,
sizeof(struct sockaddr));
- if ( (0 != (s = accept(daemon->socket_fd,
- &addr,
- &addrlen))) ||
+ s = accept(daemon->socket_fd,
+ &addr,
+ &addrlen);
+ if ( (s < 0) ||
(addrlen <= 0) ) {
MHD_DLOG(daemon,
"Error accepting connection: %s\n",
@@ -298,20 +300,23 @@
free(hpos->header);
free(hpos->value);
}
-
if (pos->response != NULL)
MHD_destroy_response(pos->response);
free(pos);
- }
-
+ if (prev == NULL)
+ pos = daemon->connections;
+ else
+ pos = prev->next;
+ continue;
+ }
+
if ( (pos->headersReceived == 1) &&
(pos->read_buffer_size == pos->readLoc) &&
(pos->readLoc > 0) )
MHD_call_session_handler(pos);
-
prev = pos;
- pos = pos->next;
+ pos = pos->next;
}
}
Modified: libmicrohttpd/src/daemon/session.c
===================================================================
--- libmicrohttpd/src/daemon/session.c 2007-06-13 22:35:05 UTC (rev 5042)
+++ libmicrohttpd/src/daemon/session.c 2007-06-13 23:01:21 UTC (rev 5043)
@@ -361,6 +361,9 @@
session->read_buffer,
session->read_buffer_size);
session->read_buffer_size = session->read_buffer_size * 2 +
MHD_MAX_BUF_SIZE;
+ if (session->read_buffer != NULL)
+ free(session->read_buffer);
+ session->read_buffer = tmp;
}
if (session->readLoc >= session->read_buffer_size) {
MHD_DLOG(session->daemon,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r5043 - libmicrohttpd/src/daemon,
gnunet <=