diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-08-01 10:44:37 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-08-01 10:44:37 +0000 |
commit | 10760088257786470205d93a33871cf922e75ecd (patch) | |
tree | 62d5e1265315b2450bb9cc2fdaa5668953052e01 | |
parent | c43591cc30d47c506d588710611c2fbcac59e095 (diff) |
Merged revisions 209835 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk
........
r209835 | russell | 2009-08-01 05:43:40 -0500 (Sat, 01 Aug 2009) | 6 lines
Fix ast_event_queue_and_cache() to actually do the cache() part.
(closes issue #15624)
Reported by: ffossard
Tested by: russell
........
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@209836 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r-- | main/event.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/main/event.c b/main/event.c index 339c09100..1e2f34e8b 100644 --- a/main/event.c +++ b/main/event.c @@ -1068,7 +1068,7 @@ static struct ast_event_ref *alloc_event_ref(void) /*! \brief Duplicate an event and add it to the cache * \note This assumes this index in to the cache is locked */ -static int attribute_unused ast_event_dup_and_cache(const struct ast_event *event) +static int ast_event_dup_and_cache(const struct ast_event *event) { struct ast_event *dup_event; struct ast_event_ref *event_ref; @@ -1097,6 +1097,7 @@ int ast_event_queue_and_cache(struct ast_event *event) struct ast_event_ref tmp_event_ref = { .event = event, }; + int res = -1; if (!(container = ast_event_cache[ast_event_get_type(event)].container)) { ast_log(LOG_WARNING, "cache requested for non-cached event type\n"); @@ -1107,8 +1108,10 @@ int ast_event_queue_and_cache(struct ast_event *event) ao2_callback(container, OBJ_POINTER | OBJ_UNLINK | OBJ_MULTIPLE | OBJ_NODATA, ast_event_cmp, &tmp_event_ref); + res = ast_event_dup_and_cache(event); + queue_event: - return ast_event_queue(event); + return ast_event_queue(event) ? -1 : res; } static int handle_event(void *data) |