projects
/
NeonServV5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added free-client event
[NeonServV5.git]
/
src
/
ClientSocket.c
diff --git
a/src/ClientSocket.c
b/src/ClientSocket.c
index cb40cc7dc9eb1afe311919d685ca16de153846e7..cca4bcd7e2890727fef168b13dfa8b84ab393668 100644
(file)
--- a/
src/ClientSocket.c
+++ b/
src/ClientSocket.c
@@
-1,4
+1,4
@@
-/* ClientSocket.c - NeonServ v5.
5
+/* ClientSocket.c - NeonServ v5.
6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
@@
-136,6
+136,7
@@
int destroy_socket(struct ClientSocket *client) {
} else
last_sock = sock;
}
} else
last_sock = sock;
}
+ event_freeclient(client);
free(client->host);
if(client->bind)
free(client->bind);
free(client->host);
if(client->bind)
free(client->bind);
@@
-217,7
+218,9
@@
int clientsocket_parseorder_top(unsigned int tid) {
static IOHANDLER_CALLBACK(socket_callback) {
struct ClientSocket *client = event->iofd->data;
static IOHANDLER_CALLBACK(socket_callback) {
struct ClientSocket *client = event->iofd->data;
+ #ifdef HAVE_THREADS
unsigned int tid;
unsigned int tid;
+ #endif
switch(event->type) {
case IOEVENT_CONNECTED:
client->flags |= SOCKET_FLAG_CONNECTED;
switch(event->type) {
case IOEVENT_CONNECTED:
client->flags |= SOCKET_FLAG_CONNECTED;
@@
-245,6
+248,7
@@
static IOHANDLER_CALLBACK(socket_callback) {
tid = (unsigned int) pthread_self_tid();
clientsocket_start_of_recv(tid);
#endif
tid = (unsigned int) pthread_self_tid();
clientsocket_start_of_recv(tid);
#endif
+ client->traffic_in += strlen(event->data.recv_str);
parse_line(client, event->data.recv_str);
#ifdef HAVE_THREADS
clientsocket_end_of_recv(tid);
parse_line(client, event->data.recv_str);
#ifdef HAVE_THREADS
clientsocket_end_of_recv(tid);