Modules: avoid conflict between modules func pointers and dynamic symbols.
In modules we fill a set of function pointers defined in redismodule.h, populating a set of APIs that are callable from the module. We use this manual process instead of resorting to dynamic linking so that we have exact control on how we pass the API to the module, and we can even pass different functions for the same name, depending on the API version declared by the module. However if the function pointers in redismodule.h and the functions defined in module.c have the same name, they conflict since the core exports the symbols to the module. There is probably some compiler flags trick to avoid this, but in order to be safer in the future and be more easily compatible with different builidng systems, this commit changes the internal function prefix from RedisModule_ to RM_, so for example: RM_StringSet() will be exported as RedisModule_StringSet()
This diff is collapsed.
Please register or sign in to comment