diff options
Diffstat (limited to 'lib/worker.c')
-rw-r--r-- | lib/worker.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/worker.c b/lib/worker.c index fa399f0..9891310 100644 --- a/lib/worker.c +++ b/lib/worker.c @@ -67,18 +67,18 @@ void* worker_proc_thread(void* args) { char* resp; size_t resp_size; - wrk->func(task + 4, size - 4, &resp, &resp_size); - memcpy(worker_buf + 1, task, 4); - free(task); - + wrk->func(task + 16, size - 16, &resp, &resp_size); if (pthread_mutex_lock(&wrk->mutex) != 0) { fprintf(stderr, "[proc_thread] Unable to call pthread_mutex_lock\n"); exit(EXIT_FAILURE); } + memcpy(worker_buf + 4, task, 4); + free(task); + worker_buf[0] = REQUEST_TYPE_PUT_RESULT; - memcpy(worker_buf + 5, resp, resp_size); - conn_write(wrk->conn, worker_buf, resp_size + 5); + memcpy(worker_buf + 16, resp, resp_size); + conn_write(wrk->conn, worker_buf, resp_size + 16); free(resp); free(conn_read(wrk->conn, &size)); |