]> git.ipfire.org Git - thirdparty/asterisk.git/commit
Merged revisions 375894 via svnmerge from
authorAutomerge script <automerge@asterisk.org>
Mon, 5 Nov 2012 23:26:27 +0000 (23:26 +0000)
committerAutomerge script <automerge@asterisk.org>
Mon, 5 Nov 2012 23:26:27 +0000 (23:26 +0000)
commit16456df8e082767c94aff0ec5f53c89949980e16
tree36a672009b52fbca31050b9ef76b88ef2453c6f9
parentb3b15ff3b7e1d16681ef3c0d6cc88dd5e664695d
Merged revisions 375894 via svnmerge from
file:///srv/subversion/repos/asterisk/branches/10

................
  r375894 | mjordan | 2012-11-05 17:00:32 -0600 (Mon, 05 Nov 2012) | 28 lines

  Refactor ast_timer_ack to return an error and handle the error in timer users

  Currently, if an acknowledgement of a timer fails Asterisk will not realize
  that a serious error occurred and will continue attempting to use the timer's
  file descriptor.  This can lead to situations where errors stream to the
  CLI/log file.  This consumes significant resources, masks the actual problem
  that occurred (whatever caused the timer to fail in the first place), and
  can leave channels in odd states.

  This patch propagates the errors in the timing resource modules up through
  the timer core, and makes users of these timers handle acknowledgement
  failures.  It also adds some defensive coding around the use of timers
  to prevent using bad file descriptors in off nominal code paths.

  Note that the patch created by the issue reporter was modified slightly for
  this commit and backported to 1.8, as it was originally written for
  Asterisk 10.

  Review: https://reviewboard.asterisk.org/r/2178/

  (issue ASTERISK-20032)
  Reported by: Jeremiah Gowdy
  patches:
    jgowdy-timerfd-6-22-2012.diff uploaded by Jeremiah Gowdy (license 6358)
  ........

  Merged revisions 375893 from http://svn.asterisk.org/svn/asterisk/branches/1.8
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10-digiumphones@375921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
12 files changed:
bridges/bridge_softmix.c
channels/chan_iax2.c
funcs/func_jitterbuffer.c
include/asterisk/timing.h
main/channel.c
main/timing.c
res/res_fax_spandsp.c
res/res_musiconhold.c
res/res_timing_dahdi.c
res/res_timing_kqueue.c
res/res_timing_pthread.c
res/res_timing_timerfd.c