Introduced a redisAssert() variant that is able to show information about the client in the context where the failed assertion was detected.

This commit is contained in:
antirez
2011-10-04 17:22:29 +02:00
parent 909aee2c6c
commit e3e6993510
2 changed files with 41 additions and 2 deletions

View File

@ -211,10 +211,9 @@
#define REDIS_LUA_TIME_LIMIT 60000 /* milliseconds */
/* We can print the stacktrace, so our assert is defined this way: */
#define redisAssertWithClientInfo(_c,_e) ((_e)?(void)0 : (_redisAssertWithClientInfo(_c,#_e,__FILE__,__LINE__),_exit(1)))
#define redisAssert(_e) ((_e)?(void)0 : (_redisAssert(#_e,__FILE__,__LINE__),_exit(1)))
#define redisPanic(_e) _redisPanic(#_e,__FILE__,__LINE__),_exit(1)
void _redisAssert(char *estr, char *file, int line);
void _redisPanic(char *msg, char *file, int line);
/*-----------------------------------------------------------------------------
* Data types
@ -1119,4 +1118,9 @@ void *malloc(size_t size) __attribute__ ((deprecated));
void *realloc(void *ptr, size_t size) __attribute__ ((deprecated));
#endif
/* Debugging stuff */
void _redisAssertWithClientInfo(redisClient *c, char *estr, char *file, int line);
void _redisAssert(char *estr, char *file, int line);
void _redisPanic(char *msg, char *file, int line);
#endif