[Tarantool-patches] [PATCH v20 2/7] box/func: module_reload -- drop redundant argument

Serge Petrenko sergepetrenko at tarantool.org
Mon Apr 5 13:23:03 MSK 2021



02.04.2021 15:34, Cyrill Gorcunov пишет:
> The only purpose of the module argument is to
> notify the caller that the module doesn't exist.
> Lets simply the code and drop this argument.
>
> Part-of #4642
>
> Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
> ---

Thanks for the patch! LGTM.

>   src/box/call.c | 9 +--------
>   src/box/func.c | 7 +++----
>   src/box/func.h | 3 +--
>   3 files changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/src/box/call.c b/src/box/call.c
> index 9c291260e..7839e1f3e 100644
> --- a/src/box/call.c
> +++ b/src/box/call.c
> @@ -128,14 +128,7 @@ box_module_reload(const char *name)
>   				 user->def->name);
>   		return -1;
>   	}
> -	struct module *module = NULL;
> -	if (module_reload(name, name + strlen(name), &module) == 0) {
> -		if (module != NULL)
> -			return 0;
> -		else
> -			diag_set(ClientError, ER_NO_SUCH_MODULE, name);
> -	}
> -	return -1;
> +	return module_reload(name, name + strlen(name));
>   }
>   
>   int
> diff --git a/src/box/func.c b/src/box/func.c
> index 9909cee45..233696a4f 100644
> --- a/src/box/func.c
> +++ b/src/box/func.c
> @@ -372,13 +372,13 @@ module_sym(struct module *module, const char *name)
>   }
>   
>   int
> -module_reload(const char *package, const char *package_end, struct module **module)
> +module_reload(const char *package, const char *package_end)
>   {
>   	struct module *old_module = module_cache_find(package, package_end);
>   	if (old_module == NULL) {
>   		/* Module wasn't loaded - do nothing. */
> -		*module = NULL;
> -		return 0;
> +		diag_set(ClientError, ER_NO_SUCH_MODULE, package);
> +		return -1;
>   	}
>   
>   	struct module *new_module = module_load(package, package_end);
> @@ -399,7 +399,6 @@ module_reload(const char *package, const char *package_end, struct module **modu
>   	if (module_cache_put(new_module) != 0)
>   		goto restore;
>   	module_gc(old_module);
> -	*module = new_module;
>   	return 0;
>   restore:
>   	/*
> diff --git a/src/box/func.h b/src/box/func.h
> index 581e468cb..0a08fa465 100644
> --- a/src/box/func.h
> +++ b/src/box/func.h
> @@ -113,12 +113,11 @@ func_call(struct func *func, struct port *args, struct port *ret);
>    *
>    * @param package name begin pointer.
>    * @param package_end package_end name end pointer.
> - * @param[out] module a pointer to store module object on success.
>    * @retval -1 on error.
>    * @retval 0 on success.
>    */
>   int
> -module_reload(const char *package, const char *package_end, struct module **module);
> +module_reload(const char *package, const char *package_end);
>   
>   #if defined(__cplusplus)
>   } /* extern "C" */

-- 
Serge Petrenko



More information about the Tarantool-patches mailing list