diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2009-03-27 19:10:32 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2009-03-27 19:10:32 +0000 |
commit | 9381bff79d8c042affb23d3733fe6aa272a1f579 (patch) | |
tree | ce5d46d0d87fc7ee22af3c25180e9916951b3cfc /include/asterisk/channel.h | |
parent | f7453267505c4889b323df8a8718012c59033a67 (diff) |
Improve timing interface to remember which provider provided a timer
The ability to load/unload timing interfaces is nice, but it means that when a timer is allocated, it may come from provider A, but later provider B becomes the 'preferred' provider. If this happens, all timer API calls on the timer that was provided by provider A will actually be handed to provider B, which will say WTF and return an error.
This patch changes the timer API to include a pointer to the provider of the timer handle so that future operations on the timer will be forwarded to the proper provider.
(closes issue #14697)
Reported by: moy
Review: http://reviewboard.digium.com/r/211/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184762 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/channel.h')
-rw-r--r-- | include/asterisk/channel.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index d601bb72c..1a0a6ec07 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -496,6 +496,7 @@ struct ast_channel { char unused_old_dtmfq[AST_MAX_EXTENSION]; /*!< (deprecated, use readq instead) Any/all queued DTMF characters */ struct { struct ast_bridge *bridge; /*!< Bridge this channel is participating in */ + struct ast_timer *timer; /*!< timer object that provided timingfd */ }; }; |