diff -Naur asterisk-1.6.2.8-rc1-orig/apps/app_meetme.c asterisk-1.6.2.8-rc1/apps/app_meetme.c --- asterisk-1.6.2.8-rc1-orig/apps/app_meetme.c 2010-04-02 19:56:45.000000000 -0400 +++ asterisk-1.6.2.8-rc1/apps/app_meetme.c 2010-05-25 15:11:27.000000000 -0400 @@ -1713,12 +1713,14 @@ { struct ast_conf_user *user; + ast_mutex_lock(&conf->playlock); AST_LIST_TRAVERSE(&conf->userlist, user, list) { if (user == sender) continue; if (ast_write(user->chan, f) < 0) ast_log(LOG_WARNING, "Error writing frame to channel %s\n", user->chan->name); } + ast_mutex_unlock(&conf->playlock); } static void sla_queue_event_full(enum sla_event_type type, @@ -3352,7 +3354,9 @@ } } /* Remove ourselves from the list */ + ast_mutex_lock(&conf->playlock); AST_LIST_REMOVE(&conf->userlist, user, list); + ast_mutex_unlock(&conf->playlock); /* Change any states */ if (!conf->users) {