[asterisk-commits] twilson: branch twilson/calendaring r182407 - in /team/twilson/calendaring: m...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Mar 16 20:04:58 CDT 2009
Author: twilson
Date: Mon Mar 16 20:04:54 2009
New Revision: 182407
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=182407
Log:
Address russell's comments on reviewboard (except xmldocs)
Modified:
team/twilson/calendaring/main/calendar.c
team/twilson/calendaring/res/res_caldav.c
team/twilson/calendaring/res/res_exchangecal.c
team/twilson/calendaring/res/res_icalendar.c
Modified: team/twilson/calendaring/main/calendar.c
URL: http://svn.digium.com/svn-view/asterisk/team/twilson/calendaring/main/calendar.c?view=diff&rev=182407&r1=182406&r2=182407
==============================================================================
--- team/twilson/calendaring/main/calendar.c (original)
+++ team/twilson/calendaring/main/calendar.c Mon Mar 16 20:04:54 2009
@@ -46,6 +46,7 @@
static pthread_t refresh_thread = AST_PTHREADT_NULL;
static ast_mutex_t refreshlock;
static ast_cond_t refresh_condition;
+static ast_mutex_t reloadlock;
static void event_notification_destroy(void *data);
static void *event_notification_duplicate(void *data);
@@ -735,7 +736,7 @@
ast_debug(1, "Disabling calendar support\n");
ast_config_destroy(calendar_config);
calendar_config = NULL;
- return 0;
+ return -1;
} else {
ast_debug(1, "Enabling calendar support\n");
}
@@ -1394,6 +1395,8 @@
{
struct ast_calendar_tech *iter;
+ ast_mutex_lock(&reloadlock);
+
/* Mark existing calendars for deletion */
ao2_callback(calendars, OBJ_NODATA | OBJ_MULTIPLE, cb_pending_deletion, NULL);
load_config(NULL);
@@ -1409,6 +1412,8 @@
/* Delete calendars that no longer show up in the config */
ao2_callback(calendars, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, cb_rm_pending_deletion, NULL);
+ ast_mutex_unlock(&reloadlock);
+
return 0;
}
@@ -1438,9 +1443,27 @@
int ast_calendar_init()
{
+ if (load_config(NULL)) {
+ /* We don't have calendar support enabled */
+ return 0;
+ }
+
if (!(calendars = ao2_container_alloc(MAX_BUCKETS, calendar_hash_fn, calendar_cmp_fn))) {
ast_log(LOG_ERROR, "Unable to allocate calendars container!\n");
return -1;
+ }
+
+ ast_mutex_init(&refreshlock);
+ ast_cond_init(&refresh_condition, NULL);
+ ast_mutex_init(&reloadlock);
+
+ if (!(sched = sched_context_create())) {
+ ast_log(LOG_ERROR, "Unable to create sched context\n");
+ return -1;
+ }
+
+ if (ast_pthread_create_background(&refresh_thread, NULL, do_refresh, NULL) < 0) {
+ ast_log(LOG_ERROR, "Unable to start refresh thread--notifications disabled!\n");
}
__ast_custom_function_register(&calendar_busy_function, NULL);
@@ -1450,20 +1473,7 @@
__ast_custom_function_register(&calendar_write_function, NULL);
ast_cli_register_multiple(calendar_cli, ARRAY_LEN(calendar_cli));
- ast_mutex_init(&refreshlock);
- ast_cond_init(&refresh_condition, NULL);
-
- if (!(sched = sched_context_create())) {
- ast_log(LOG_ERROR, "Unable to create sched context\n");
- return -1;
- }
-
- if (ast_pthread_create_background(&refresh_thread, NULL, do_refresh, NULL) < 0) {
- ast_log(LOG_ERROR, "Unable to start refresh thread--notifications disabled!\n");
- }
-
ast_devstate_prov_add("Calendar", calendarstate);
- load_config(NULL);
return 0;
}
Modified: team/twilson/calendaring/res/res_caldav.c
URL: http://svn.digium.com/svn-view/asterisk/team/twilson/calendaring/res/res_caldav.c?view=diff&rev=182407&r1=182406&r2=182407
==============================================================================
--- team/twilson/calendaring/res/res_caldav.c (original)
+++ team/twilson/calendaring/res/res_caldav.c Mon Mar 16 20:04:54 2009
@@ -636,7 +636,7 @@
return 0;
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Asterisk MS Exchange Calendar Integration",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Asterisk MS Exchange Calendar Integration",
.load = load_module,
.unload = unload_module,
);
Modified: team/twilson/calendaring/res/res_exchangecal.c
URL: http://svn.digium.com/svn-view/asterisk/team/twilson/calendaring/res/res_exchangecal.c?view=diff&rev=182407&r1=182406&r2=182407
==============================================================================
--- team/twilson/calendaring/res/res_exchangecal.c (original)
+++ team/twilson/calendaring/res/res_exchangecal.c Mon Mar 16 20:04:54 2009
@@ -81,9 +81,11 @@
struct xmlstate *state = data;
char *tmp;
- tmp = strchr(name, ':');
- if (tmp)
+ if ((tmp = strchr(name, ':'))) {
tmp++;
+ } else {
+ return IKS_HOOK;
+ }
ast_copy_string(state->tag, tmp, sizeof(state->tag));
@@ -740,7 +742,7 @@
return 0;
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Asterisk MS Exchange Calendar Integration",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Asterisk MS Exchange Calendar Integration",
.load = load_module,
.unload = unload_module,
);
Modified: team/twilson/calendaring/res/res_icalendar.c
URL: http://svn.digium.com/svn-view/asterisk/team/twilson/calendaring/res/res_icalendar.c?view=diff&rev=182407&r1=182406&r2=182407
==============================================================================
--- team/twilson/calendaring/res/res_icalendar.c (original)
+++ team/twilson/calendaring/res/res_icalendar.c Mon Mar 16 20:04:54 2009
@@ -439,7 +439,7 @@
return 0;
}
-AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_GLOBAL_SYMBOLS, "Asterisk iCalendar .ics file integration",
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_DEFAULT, "Asterisk iCalendar .ics file integration",
.load = load_module,
.unload = unload_module,
);
More information about the asterisk-commits
mailing list