From: Michal Sojka Date: Tue, 8 Feb 2011 16:40:54 +0000 (+0100) Subject: Simplify frob_get_current_executor() X-Git-Url: https://rtime.felk.cvut.cz/gitweb/frescor/forb.git/commitdiff_plain/3265a99a276da8481f43f5218f458598f8d83037?hp=8dd7b29079d26e5cdf8e5aa82759aeec169fa9d3 Simplify frob_get_current_executor() Return the executor as return value and not via a parameter. --- 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");