diff --git a/src/cluster.c b/src/cluster.c index fb45bd063f7b728859146e43adcaf46eef4bfe7f..6280677ae261adc3926831d327127cd5f29e9b28 100644 --- a/src/cluster.c +++ b/src/cluster.c @@ -358,6 +358,11 @@ void clusterSaveConfigOrDie(int do_fsync) { * On success REDIS_OK is returned, otherwise an error is logged and * the function returns REDIS_ERR to signal a lock was not acquired. */ int clusterLockConfig(char *filename) { +/* flock() does not exist on Solaris + * and a fcntl-based solution won't help, as we constantly re-open that file, + * which will release _all_ locks anyway + */ +#if !defined(__sun) /* To lock it, we need to open the file in a way it is created if * it does not exist, otherwise there is a race condition with other * processes. */ @@ -385,6 +390,8 @@ int clusterLockConfig(char *filename) { } /* Lock acquired: leak the 'fd' by not closing it, so that we'll retain the * lock to the file as long as the process exists. */ +#endif /* __sun */ + return REDIS_OK; } diff --git a/src/redis.c b/src/redis.c index 2a6bb47bb01390ea61ef43512d09a4a3d247abdf..b5ade925e42d7f1f1b9f6cc650e55423bdc8bbd8 100644 --- a/src/redis.c +++ b/src/redis.c @@ -53,7 +53,6 @@ #include #include #include -#include #include /* Our shared "common" objects */