[Freeswitch-svn] [commit] r9302 - freeswitch/trunk/src/mod/applications/mod_conference
Freeswitch SVN
mikej at freeswitch.org
Fri Aug 15 00:07:33 EDT 2008
Author: mikej
Date: Fri Aug 15 00:07:33 2008
New Revision: 9302
Modified:
freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
Log:
attempt to fix MODAPP-129, seg when kicking many conference members quickly
Modified: freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c
==============================================================================
--- freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c (original)
+++ freeswitch/trunk/src/mod/applications/mod_conference/mod_conference.c Fri Aug 15 00:07:33 2008
@@ -2828,11 +2828,12 @@
if (stream != NULL) {
stream->write_function(stream, "OK kicked %u\n", member->id);
}
- if (test_eflag(member->conference, EFLAG_KICK_MEMBER) &&
- switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
- conference_add_event_member_data(member, event);
- switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Action", "kick-member");
- switch_event_fire(&event);
+ if (member->conference && test_eflag(member->conference, EFLAG_KICK_MEMBER)) {
+ if (switch_event_create_subclass(&event, SWITCH_EVENT_CUSTOM, CONF_EVENT_MAINT) == SWITCH_STATUS_SUCCESS) {
+ conference_add_event_member_data(member, event);
+ switch_event_add_header(event, SWITCH_STACK_BOTTOM, "Action", "kick-member");
+ switch_event_fire(&event);
+ }
}
return SWITCH_STATUS_SUCCESS;
}
@@ -3662,7 +3663,7 @@
conference_member_t *member = conference_member_get(conference, id);
if (member != NULL) {
- pfn(conference_member_get(conference, id), stream, argv[argn + 2]);
+ pfn(member, stream, argv[argn + 2]);
} else {
stream->write_function(stream, "Non-Existant ID %u\n", id);
}
More information about the Freeswitch-svn
mailing list