switch_xml: Fix a lock on reloadxml when stderr write is blocked. Also remove an error parsing print since reason generated were wrong and duplicate.

This commit is contained in:
Marc Olivier Chouinard 2011-02-01 01:33:08 -05:00
parent e88b963962
commit 2d6161e889

View File

@ -1286,9 +1286,7 @@ static int preprocess_glob(const char *cwd, const char *pattern, int write_fd, i
}
if (glob(pattern, GLOB_NOCHECK, NULL, &glob_data) != 0) {
if (stderr) {
fprintf(stderr, "Error including %s\n", pattern);
}
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error including %s\n", pattern);
goto end;
}
@ -1299,11 +1297,9 @@ static int preprocess_glob(const char *cwd, const char *pattern, int write_fd, i
*e = '\0';
}
if (preprocess(dir_path, glob_data.gl_pathv[n], write_fd, rlevel) < 0) {
const char *reason = strerror(errno);
if (rlevel > 100) {
reason = "Maximum recursion limit reached";
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error including %s (Maximum recursion limit reached)\n", pattern);
}
fprintf(stderr, "Error including %s (%s)\n", pattern, reason);
}
free(dir_path);
}