From fb86ecb802c45fac54aa7087e37592a9cbc0ab14 Mon Sep 17 00:00:00 2001 From: "Meir Shpilraien (Spielrein)" Date: Mon, 9 Nov 2020 10:46:23 +0200 Subject: Moved RMAPI_FUNC_SUPPORTED location such that it will be visible to modules (#8037) The RMAPI_FUNC_SUPPORTED was defined in the wrong place on redismodule.h and was not visible to modules. (cherry picked from commit 97d647a13920c230a27685992a23679b44b73550) --- src/redismodule.h | 4 ++-- tests/modules/fork.c | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/redismodule.h b/src/redismodule.h index 5da7d8658..2e8bc7039 100644 --- a/src/redismodule.h +++ b/src/redismodule.h @@ -1018,13 +1018,13 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int #define RedisModule_Assert(_e) ((_e)?(void)0 : (RedisModule__Assert(#_e,__FILE__,__LINE__),exit(1))) +#define RMAPI_FUNC_SUPPORTED(func) (func != NULL) + #else /* Things only defined for the modules core, not exported to modules * including this file. */ #define RedisModuleString robj -#define RMAPI_FUNC_SUPPORTED(func) (func != NULL) - #endif /* REDISMODULE_CORE */ #endif /* REDISMODULE_H */ diff --git a/tests/modules/fork.c b/tests/modules/fork.c index 0443d9ef0..50889eef9 100644 --- a/tests/modules/fork.c +++ b/tests/modules/fork.c @@ -28,6 +28,12 @@ int fork_create(RedisModuleCtx *ctx, RedisModuleString **argv, int argc) RedisModule_WrongArity(ctx); return REDISMODULE_OK; } + + if(!RMAPI_FUNC_SUPPORTED(RedisModule_Fork)){ + RedisModule_ReplyWithError(ctx, "Fork api is not supported in the current redis version"); + return REDISMODULE_OK; + } + RedisModule_StringToLongLong(argv[1], &code_to_exit_with); exitted_with_code = -1; child_pid = RedisModule_Fork(done_handler, (void*)0xdeadbeef); -- cgit v1.2.1