int ret;
TALLOC_CTX *tmp_ctx;
const char *helper = BINDIR "/ctdb_lock_helper";
- const char *prog;
+ static const char *prog = NULL;
char **args;
+ if (prog == NULL) {
+ const char *t;
+
+ t = getenv("CTDB_LOCK_HELPER");
+ if (t != NULL) {
+ prog = talloc_strdup(ctdb, t);
+ } else {
+ prog = talloc_strdup(ctdb, helper);
+ }
+ CTDB_NO_MEMORY_VOID(ctdb, prog);
+ }
+
if (ctdb->lock_num_current >= MAX_LOCK_PROCESSES_PER_DB) {
return;
}
return;
}
- prog = getenv("CTDB_LOCK_HELPER");
- if (prog == NULL) {
- prog = helper;
- }
-
lock_ctx->child = ctdb_fork(ctdb);
if (lock_ctx->child == (pid_t)-1) {