[MAJOR] migrated task, tree64 and session to pool2
task and tree64 are already very close in size and are merged together.
Overall performance gained slightly by this simple change.
diff --git a/src/client.c b/src/client.c
index 52b281b..6afb206 100644
--- a/src/client.c
+++ b/src/client.c
@@ -41,6 +41,7 @@
#include <proto/log.h>
#include <proto/hdr_idx.h>
#include <proto/proto_http.h>
+#include <proto/session.h>
#include <proto/stream_sock.h>
#include <proto/task.h>
@@ -110,7 +111,7 @@
}
}
- if ((s = pool_alloc(session)) == NULL) { /* disable this proxy for a while */
+ if ((s = pool_alloc2(pool2_session)) == NULL) { /* disable this proxy for a while */
Alert("out of memory in event_accept().\n");
EV_FD_CLR(fd, DIR_RD);
p->state = PR_STIDLE;
@@ -127,18 +128,18 @@
(((struct sockaddr_in *)&addr)->sin_addr.s_addr & p->mon_mask.s_addr) == p->mon_net.s_addr) {
if (p->mode == PR_MODE_TCP) {
close(cfd);
- pool_free(session, s);
+ pool_free2(pool2_session, s);
continue;
}
s->flags |= SN_MONITOR;
}
- if ((t = pool_alloc(task)) == NULL) { /* disable this proxy for a while */
+ if ((t = pool_alloc2(pool2_task)) == NULL) { /* disable this proxy for a while */
Alert("out of memory in event_accept().\n");
EV_FD_CLR(fd, DIR_RD);
p->state = PR_STIDLE;
close(cfd);
- pool_free(session, s);
+ pool_free2(pool2_session, s);
return 0;
}
@@ -146,8 +147,8 @@
if (cfd >= global.maxsock) {
Alert("accept(): not enough free sockets. Raise -n argument. Giving up.\n");
close(cfd);
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}
@@ -156,8 +157,8 @@
(char *) &one, sizeof(one)) == -1)) {
Alert("accept(): cannot set the socket in non blocking mode. Giving up\n");
close(cfd);
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}
@@ -236,8 +237,8 @@
pool_alloc_from(p->req_cap_pool, p->nb_req_cap*sizeof(char *)))
== NULL) { /* no memory */
close(cfd); /* nothing can be done for this fd without memory */
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}
memset(txn->req.cap, 0, p->nb_req_cap*sizeof(char *));
@@ -251,8 +252,8 @@
if (txn->req.cap != NULL)
pool_free_to(p->req_cap_pool, txn->req.cap);
close(cfd); /* nothing can be done for this fd without memory */
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}
memset(txn->rsp.cap, 0, p->nb_rsp_cap*sizeof(char *));
@@ -267,8 +268,8 @@
if (txn->req.cap != NULL)
pool_free_to(p->req_cap_pool, txn->req.cap);
close(cfd); /* nothing can be done for this fd without memory */
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}
hdr_idx_init(&txn->hdr_idx);
@@ -354,8 +355,8 @@
if (txn->req.cap != NULL)
pool_free_to(p->req_cap_pool, txn->req.cap);
close(cfd); /* nothing can be done for this fd without memory */
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}
@@ -377,8 +378,8 @@
if (txn->req.cap != NULL)
pool_free_to(p->req_cap_pool, txn->req.cap);
close(cfd); /* nothing can be done for this fd without memory */
- pool_free(task, t);
- pool_free(session, s);
+ pool_free2(pool2_task, t);
+ pool_free2(pool2_session, s);
return 0;
}