diff options
Diffstat (limited to 'proxy/src/gp_workers.c')
-rw-r--r-- | proxy/src/gp_workers.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/proxy/src/gp_workers.c b/proxy/src/gp_workers.c index 6d650c6..bca2cc8 100644 --- a/proxy/src/gp_workers.c +++ b/proxy/src/gp_workers.c @@ -430,19 +430,21 @@ static void *gp_worker_main(void *pvt) static void gp_handle_query(struct gp_workers *w, struct gp_query *q) { - struct gp_service *gpsvc; + struct gp_call_ctx gpcall; uint8_t *buffer; size_t buflen; int ret; /* find service */ - gpsvc = gp_creds_match_conn(w->gpctx, q->conn); - if (!gpsvc) { + gpcall.gpctx = w->gpctx; + gpcall.service = gp_creds_match_conn(w->gpctx, q->conn); + if (!gpcall.service) { q->status = GP_QUERY_ERR; return; } + gpcall.connection = q->conn; - ret = gp_rpc_process_call(w->gpctx, gpsvc, + ret = gp_rpc_process_call(&gpcall, q->buffer, q->buflen, &buffer, &buflen); if (ret) { |