• A
    Modules: avoid conflict between modules func pointers and dynamic symbols. · 85919f80
    antirez 提交于
    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()
    85919f80
module.c 51.0 KB