[asterisk-commits] russell: trunk r209835 - /trunk/main/event.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Aug 1 05:43:49 CDT 2009
Author: russell
Date: Sat Aug 1 05:43:40 2009
New Revision: 209835
URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=209835
Log:
Fix ast_event_queue_and_cache() to actually do the cache() part.
(closes issue #15624)
Reported by: ffossard
Tested by: russell
Modified:
trunk/main/event.c
Modified: trunk/main/event.c
URL: http://svn.asterisk.org/svn-view/asterisk/trunk/main/event.c?view=diff&rev=209835&r1=209834&r2=209835
==============================================================================
--- trunk/main/event.c (original)
+++ trunk/main/event.c Sat Aug 1 05:43:40 2009
@@ -1274,7 +1274,7 @@
/*! \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;
@@ -1303,6 +1303,7 @@
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");
@@ -1313,8 +1314,10 @@
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)
More information about the asterisk-commits
mailing list