diff options
author | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-03-10 18:26:35 +0000 |
---|---|---|
committer | jpeeler <jpeeler@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-03-10 18:26:35 +0000 |
commit | 4c3b8afeed951fed10d8b154b596ab88a23817d9 (patch) | |
tree | 34f0ba1a9ee5cd448748309b2b634fa1f8a0a3c4 /main | |
parent | 4452090de0a16715ebf26eb7a358d187f27db783 (diff) |
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: http://svn.digium.com/svn/asterisk/branches/1.6.2@251632 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/abstract_jb.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/abstract_jb.c b/main/abstract_jb.c index 90cd7d14e..eb42346af 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) { |