fix fifo logic bug

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8279 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-05-06 21:43:42 +00:00
parent 269fdac157
commit e0e04b9f9c
3 changed files with 4 additions and 3 deletions

View File

@ -452,7 +452,7 @@ SWITCH_STANDARD_APP(fifo_function)
if (!consumer && node) {
switch_core_session_t *other_session;
switch_channel_t *other_channel;
const char *uuid = strdup(switch_core_session_get_uuid(session));
const char *uuid = switch_core_session_get_uuid(session);
const char *pri;
char tmp[25] = "";
int p = 0;
@ -510,7 +510,7 @@ SWITCH_STANDARD_APP(fifo_function)
node->start_waiting = switch_timestamp_now();
}
switch_queue_push(node->fifo_list[p], (void *)uuid);
switch_queue_push(node->fifo_list[p], (void *)strdup(uuid));
if (!pri) {
switch_snprintf(tmp, sizeof(tmp), "%d", p);

View File

@ -424,7 +424,7 @@ SWITCH_DECLARE(const char *) switch_channel_get_variable(switch_channel_t *chann
switch_assert(channel != NULL);
switch_mutex_lock(channel->profile_mutex);
if (!(v = switch_event_get_header(channel->variables, (char*)varname))) {
if (!channel->variables || !(v = switch_event_get_header(channel->variables, (char*)varname))) {
switch_caller_profile_t *cp = channel->caller_profile;
if (cp) {

View File

@ -510,6 +510,7 @@ SWITCH_DECLARE(switch_status_t) switch_event_set_priority(switch_event_t *event,
SWITCH_DECLARE(char *) switch_event_get_header(switch_event_t *event, char *header_name)
{
switch_event_header_t *hp;
switch_assert(event);
if (!header_name) return NULL;
for (hp = event->headers; hp; hp = hp->next) {