diff options
author | Terry Wilson <twilson@digium.com> | 2012-02-20 23:43:27 +0000 |
---|---|---|
committer | Terry Wilson <twilson@digium.com> | 2012-02-20 23:43:27 +0000 |
commit | 57f42bd74f78d5022631b2ba2269892f8a3a384a (patch) | |
tree | 3283ec4ac88c5b3c267f4490b410e5331911f2bb /include/asterisk/sched.h | |
parent | 25e5eb3b96e6d9bcbb2fc02fbd879ae21104c1f5 (diff) |
ast_channel opaquification of pointers and integral types
Review: https://reviewboard.asterisk.org/r/1753/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'include/asterisk/sched.h')
-rw-r--r-- | include/asterisk/sched.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asterisk/sched.h b/include/asterisk/sched.h index b16421a88..aac6dc82b 100644 --- a/include/asterisk/sched.h +++ b/include/asterisk/sched.h @@ -56,6 +56,19 @@ extern "C" { (_sched_res); \ }) +#define AST_SCHED_DEL_ACCESSOR(sched, obj, getter, setter) \ + ({ \ + int _count = 0; \ + int _sched_res = -1; \ + while (getter(obj) > -1 && (_sched_res = ast_sched_del(sched, getter(obj))) && ++_count < 10) \ + usleep(1); \ + if (_count == 10) { \ + ast_debug(3, "Unable to cancel schedule ID %d.\n", getter(obj)); \ + } \ + setter(obj, -1); \ + (_sched_res); \ + }) + /*! * \brief schedule task to get deleted and call unref function * \sa AST_SCHED_DEL |