diff options
author | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2013-05-01 09:23:06 -0700 |
---|---|---|
committer | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2013-05-01 09:23:06 -0700 |
commit | bb3c4c17c45c89d980e2f4f59f59e55d13c77334 (patch) | |
tree | 0efcd2d651a075e0849cb45fdbcae4b613c297f5 | |
parent | 9dff5105fc01f52437d862bc95d40415f03179f0 (diff) |
Make redisKeepAlive work on OSX
-rw-r--r-- | fmacros.h | 4 | ||||
-rw-r--r-- | net.c | 8 |
2 files changed, 12 insertions, 0 deletions
@@ -13,4 +13,8 @@ #define _XOPEN_SOURCE #endif +#if __APPLE__ && __MACH__ +#define _OSX +#endif + #endif @@ -122,6 +122,13 @@ int redisKeepAlive(redisContext *c, int interval) { return REDIS_ERR; } +#ifdef _OSX + val = interval; + if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPALIVE, &val, sizeof(val)) < 0) { + __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); + return REDIS_ERR; + } +#else val = interval; if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); @@ -140,6 +147,7 @@ int redisKeepAlive(redisContext *c, int interval) { __redisSetError(c,REDIS_ERR_OTHER,strerror(errno)); return REDIS_ERR; } +#endif return REDIS_OK; } |