From 006c078ea8f65561f8a881ad15eccb88f9b54995 Mon Sep 17 00:00:00 2001 From: Jeff Peeler Date: Wed, 10 Mar 2010 18:26:35 +0000 Subject: [PATCH] Merged revisions 251631 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r251631 | jpeeler | 2010-03-10 12:25:18 -0600 (Wed, 10 Mar 2010) | 14 lines Fix jitterbuffer logging not creating logfiles. Three changes made here: 1) Do not fail if a previous log does not exist (in fact, this is probably expected). 2) Ensure that the file descriptor to write to gets assigned properly. I am at a loss as to why assigning safe_fd outside the if fixes this, but it makes the if statement slightly less complicated anyway. 3) Move up the failure message so that the errno of the failure is not overwritten by fclose. (closes issue #16917) Reported by: Artem ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@251632 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/abstract_jb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/main/abstract_jb.c b/main/abstract_jb.c index 90cd7d14e3..eb42346af3 100644 --- a/main/abstract_jb.c +++ b/main/abstract_jb.c @@ -499,12 +499,14 @@ static int create_jb(struct ast_channel *chan, struct ast_frame *frr) snprintf(logfile_pathname, sizeof(logfile_pathname), "/tmp/ast_%s_jb_%s--%s.log", jbimpl->name, name1, name2); - if (!(safe_fd = mkstemp(safe_logfile)) > -1 || unlink(logfile_pathname) || link(safe_logfile, logfile_pathname) || unlink(safe_logfile) || !(jb->logfile = fdopen(safe_fd, "w+b"))) { + unlink(logfile_pathname); + safe_fd = mkstemp(safe_logfile); + if (safe_fd < 0 || link(safe_logfile, logfile_pathname) || unlink(safe_logfile) || !(jb->logfile = fdopen(safe_fd, "w+b"))) { + ast_log(LOG_ERROR, "Failed to create frame log file with pathname '%s': %s\n", logfile_pathname, strerror(errno)); jb->logfile = NULL; if (safe_fd > -1) { close(safe_fd); } - ast_log(LOG_ERROR, "Failed to create frame log file with pathname '%s': %s\n", logfile_pathname, strerror(errno)); } if (res == JB_IMPL_OK) { -- 2.47.2