From 3265a99a276da8481f43f5218f458598f8d83037 Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Tue, 8 Feb 2011 17:40:54 +0100 Subject: [PATCH] Simplify frob_get_current_executor() Return the executor as return value and not via a parameter. --- src/executor.c | 14 ++++---------- src/executor.h | 2 +- src/tests/executor_id.c | 2 +- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/executor.c b/src/executor.c index f1a068d..9e725d0 100644 --- a/src/executor.c +++ b/src/executor.c @@ -194,16 +194,10 @@ error: /** * Determines the executor we are currently in. * - * @param executor Current executor pointer. - * - * @return Zero in case of success. + * @return Pointer to the current executor or NULL if not called + * within executor. */ -int forb_get_current_executor(forb_executor_t **executor) +forb_executor_t *forb_get_current_executor(void) { - int ret = 0; - *executor = (void *) pthread_getspecific(forb_executor_key); - - if (!(*executor)) - ret = 1; - return ret; + return pthread_getspecific(forb_executor_key); } diff --git a/src/executor.h b/src/executor.h index 06dddcd..8f9864e 100644 --- a/src/executor.h +++ b/src/executor.h @@ -85,6 +85,6 @@ void forb_executor_unregister_object(forb_executor_t *executor, forb_object obj) int forb_executor_run(forb_executor_t *executor); int forb_execute_object(forb_object obj); -int forb_get_current_executor(forb_executor_t **executor); +forb_executor_t *forb_get_current_executor(void); #endif diff --git a/src/tests/executor_id.c b/src/tests/executor_id.c index 1aace5b..fadee53 100644 --- a/src/tests/executor_id.c +++ b/src/tests/executor_id.c @@ -84,7 +84,7 @@ int main(int argc, char *argv[]) } // ------------------------------------------------------ - if (forb_get_current_executor(&executor)) { + if ((executor = forb_get_current_executor())) { printf("Test: Error while getting current executor\n"); if (executor == NULL) printf("Test: Executor: NULL\n"); -- 2.39.2