#define LOG_ERRORS_FNAME "log-errors"
#define LOG_TIMESTAMP_FORMAT "%b %d %H:%M:%S"
-static void cmd_log_test(int argc ATTR_UNUSED, char *argv[] ATTR_UNUSED)
+ extern struct doveadm_cmd doveadm_cmd_log[];
+
+static void ATTR_NULL(2)
+cmd_log_test(int argc ATTR_UNUSED, char *argv[] ATTR_UNUSED)
{
struct failure_context ctx;
unsigned int i;
return -1;
}
if (master_instance_list_refresh(list) < 0) {
- (void)file_dotlock_delete(dotlock_r);
+ file_dotlock_delete(dotlock_r);
return -1;
}
+ list->locked = TRUE;
return fd;
}
T_BEGIN {
ret = master_instance_list_write(list, fd, lock_path);
} T_END;
+
+ list->locked = FALSE;
if (ret < 0) {
- (void)file_dotlock_delete(dotlock);
+ file_dotlock_delete(dotlock);
return -1;
}
if (fdatasync(fd) < 0) {
i_error("fdatasync(%s) failed: %m", lock_path);
- (void)file_dotlock_delete(dotlock);
+ file_dotlock_delete(dotlock);
return -1;
}
+ list->config_paths_changed = FALSE;
return file_dotlock_replace(dotlock, 0);
}
if (orig_inst != NULL &&
strcmp(orig_inst->base_dir, base_dir) != 0) {
/* name already used */
- (void)file_dotlock_delete(&dotlock);
+ file_dotlock_delete(&dotlock);
+ list->locked = FALSE;
return 0;
}
}
if (i == count) {
- (void)file_dotlock_delete(&dotlock);
+ file_dotlock_delete(&dotlock);
+ list->locked = FALSE;
return 0;
}
return master_instance_write_finish(list, fd, &dotlock) < 0 ? -1 : 1;
if (path != NULL) {
namespaces = array_get("a->namespaces, &count);
for (i = 0; i < count; i++) {
- path2 = mailbox_list_get_path(namespaces[i]->list, NULL,
+ path2 = mailbox_list_get_root_path(namespaces[i]->list,
MAILBOX_LIST_PATH_TYPE_MAILBOX);
- if (strcmp(path, path2) == 0) {
+ if (path2 != NULL && strcmp(path, path2) == 0) {
/* duplicate */
return;
}