From 74627d149754cfa6785b703edce0daf0f2bf2e91 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Wed, 8 Jul 2015 21:18:34 +0200 Subject: [PATCH] (task_http.c) Some refactors --- runloop_data.c | 5 ++--- tasks/task_http.c | 20 ++++++++++++++++++++ tasks/tasks.h | 4 ++++ 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/runloop_data.c b/runloop_data.c index f36c164b82..7852660bf3 100644 --- a/runloop_data.c +++ b/runloop_data.c @@ -295,8 +295,7 @@ void rarch_main_data_init_queues(void) { data_runloop_t *runloop = rarch_main_data_get_ptr(); #ifdef HAVE_NETWORKING - if (!runloop->http.msg_queue) - rarch_assert(runloop->http.msg_queue = msg_queue_new(8)); + rarch_main_data_http_init_msg_queue(); #endif rarch_main_data_nbio_init_msg_queue(); #ifdef HAVE_LIBRETRODB @@ -332,7 +331,7 @@ void rarch_main_data_msg_queue_push(unsigned type, break; #ifdef HAVE_NETWORKING case DATA_TYPE_HTTP: - queue = runloop->http.msg_queue; + queue = rarch_main_data_http_get_msg_queue_ptr(); snprintf(new_msg, sizeof(new_msg), "%s|%s", msg, msg2); break; #endif diff --git a/tasks/task_http.c b/tasks/task_http.c index e666a3d95b..9dc0a7ddea 100644 --- a/tasks/task_http.c +++ b/tasks/task_http.c @@ -436,3 +436,23 @@ void rarch_main_data_http_iterate(bool is_thread, void *data) break; } } + +void rarch_main_data_http_init_msg_queue(void) +{ + data_runloop_t *runloop = rarch_main_data_get_ptr(); + http_handle_t *http = runloop ? &runloop->http : NULL; + if (!http) + return; + + if (!http->msg_queue) + rarch_assert(http->msg_queue = msg_queue_new(8)); +} + +msg_queue_t *rarch_main_data_http_get_msg_queue_ptr(void) +{ + data_runloop_t *runloop = rarch_main_data_get_ptr(); + http_handle_t *http = runloop ? &runloop->http : NULL; + if (!http) + return NULL; + return http->msg_queue; +} diff --git a/tasks/tasks.h b/tasks/tasks.h index 6d623877f4..ed86fedb20 100644 --- a/tasks/tasks.h +++ b/tasks/tasks.h @@ -51,6 +51,10 @@ void *rarch_main_data_nbio_image_get_handle(void); **/ void rarch_main_data_http_iterate(bool is_thread, void *data); + +msg_queue_t *rarch_main_data_http_get_msg_queue_ptr(void); + +void rarch_main_data_http_init_msg_queue(void); #endif #ifdef HAVE_RPNG