|
|
|
@ -31,9 +31,9 @@
@@ -31,9 +31,9 @@
|
|
|
|
|
#include "trackerlogic.h" |
|
|
|
|
|
|
|
|
|
#ifdef WANT_NO_AUTO_FREE |
|
|
|
|
#define OT_IOB_INIT iob_init |
|
|
|
|
#define OT_IOB_INIT(B) bzero(B, sizeof(io_batch)) |
|
|
|
|
#else |
|
|
|
|
#define OT_IOB_INIT iob_init_autofree |
|
|
|
|
#define OT_IOB_INIT(B) iob_init_autofree(B, 0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#define OT_MAXMULTISCRAPE_COUNT 64 |
|
|
|
@ -87,7 +87,7 @@ static void http_senddata(const int64 sock, struct ot_workstruct *ws) {
@@ -87,7 +87,7 @@ static void http_senddata(const int64 sock, struct ot_workstruct *ws) {
|
|
|
|
|
memcpy(outbuf, ws->reply + written_size, ws->reply_size - written_size); |
|
|
|
|
if (!cookie->batch) { |
|
|
|
|
cookie->batch = malloc(sizeof(io_batch)); |
|
|
|
|
OT_IOB_INIT(cookie->batch, 0); |
|
|
|
|
OT_IOB_INIT(cookie->batch); |
|
|
|
|
cookie->batches = 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -185,7 +185,7 @@ ssize_t http_sendiovecdata(const int64 sock, struct ot_workstruct *ws, int iovec
@@ -185,7 +185,7 @@ ssize_t http_sendiovecdata(const int64 sock, struct ot_workstruct *ws, int iovec
|
|
|
|
|
iovec_free(&iovec_entries, &iovector); |
|
|
|
|
HTTPERROR_500; |
|
|
|
|
} |
|
|
|
|
OT_IOB_INIT(cookie->batch, 0); |
|
|
|
|
OT_IOB_INIT(cookie->batch); |
|
|
|
|
cookie->batches = 1; |
|
|
|
|
} |
|
|
|
|
current = cookie->batch + cookie->batches - 1; |
|
|
|
@ -199,7 +199,7 @@ ssize_t http_sendiovecdata(const int64 sock, struct ot_workstruct *ws, int iovec
@@ -199,7 +199,7 @@ ssize_t http_sendiovecdata(const int64 sock, struct ot_workstruct *ws, int iovec
|
|
|
|
|
if (new_batch) { |
|
|
|
|
cookie->batch = new_batch; |
|
|
|
|
current = cookie->batch + cookie->batches++; |
|
|
|
|
OT_IOB_INIT(current, 0); |
|
|
|
|
OT_IOB_INIT(current); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
iob_addbuf_free(current, iovector[i].iov_base, iovector[i].iov_len); |
|
|
|
|