handle failed originate a little more gracefully (MODLANG-70)

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9049 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2008-07-16 06:23:35 +00:00
parent 0e41f84afd
commit 89b123d5b2
2 changed files with 26 additions and 14 deletions

View File

@ -50,9 +50,13 @@ bool Session::end_allow_threads()
void Session::setLUA(lua_State * state)
{
L = state;
lua_setglobal(L, uuid);
lua_getfield(L, LUA_GLOBALSINDEX, uuid);
if (uuid) {
L = state;
lua_setglobal(L, uuid);
lua_getfield(L, LUA_GLOBALSINDEX, uuid);
} else {
//did we fail to make a session?
}
}
lua_State *Session::getLUA()

View File

@ -16,25 +16,33 @@ Session::Session():CoreSession()
Session::Session(char *uuid):CoreSession(uuid)
{
init_me();
suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session));
for (char *p = suuid; p && *p; p++) {
if (*p == '-') {
*p = '_';
}
if (*p == '\n') {
*p = '\0';
if (session) {
suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session));
for (char *p = suuid; p && *p; p++) {
if (*p == '-') {
*p = '_';
}
if (*p == '\n') {
*p = '\0';
}
}
} else {
//handle failure
}
}
Session::Session(switch_core_session_t *new_session):CoreSession(new_session)
{
init_me();
suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session));
for (char *p = suuid; p && *p; p++) {
if (*p == '-') {
*p = '_';
if (session) {
suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session));
for (char *p = suuid; p && *p; p++) {
if (*p == '-') {
*p = '_';
}
}
} else {
//handle failure
}
}
static switch_status_t perl_hanguphook(switch_core_session_t *session_hungup);