diff -Nur ../asterisk-1.4.4/apps/app_queue.c ./apps/app_queue.c --- apps/app_queue.c 2007-04-20 22:51:49.000000000 +0300 +++ apps/app_queue.c 2007-06-07 19:33:57.000000000 +0300 @@ -235,7 +235,7 @@ "Example: QueueLog(101|${UNIQUEID}|${AGENT}|WENTONBREAK|600)\n"; /*! \brief Persistent Members astdb family */ -static const char *pm_family = "/Queue/PersistentMembers"; +static const char *pm_family = "Queue/PersistentMembers"; /* The maximum length of each persistent member queue database entry */ #define PM_MAX_LEN 8192 @@ -2936,10 +2936,14 @@ break; ast_mutex_unlock(&cur_queue->lock); } + + if (!cur_queue) + cur_queue = load_realtime_queue(queue_name); if (!cur_queue) { /* If the queue no longer exists, remove it from the * database */ + ast_log(LOG_WARNING, "Error loading persistent queue: '%s': it does not exist\n", queue_name); ast_db_del(pm_family, queue_name); continue; } else diff -Nur ../asterisk-1.4.4/channels/chan_agent.c ./channels/chan_agent.c --- channels/chan_agent.c 2007-04-28 00:10:51.000000000 +0300 +++ channels/chan_agent.c 2007-06-07 18:33:26.000000000 +0300 @@ -144,7 +144,7 @@ #define AST_MAX_BUF 256 #define AST_MAX_FILENAME_LEN 256 -static const char pa_family[] = "/Agents"; /*!< Persistent Agents astdb family */ +static const char pa_family[] = "Agents"; /*!< Persistent Agents astdb family */ #define PA_MAX_LEN 2048 /*!< The maximum length of each persistent member agent database entry */ static int persistent_agents = 0; /*!< queues.conf [general] option */