VoIP Mailing List Archives
Mailing list archives for the VoIP community |
|
View previous topic :: View next topic |
Author |
Message |
mike at jerris.com Guest
|
Posted: Thu Feb 05, 2009 3:55 pm Post subject: [Freeswitch-users] spidermonkey problems |
|
|
This should now be fixed in svn trunk. Please re-test this with trunk and confirm that all is working correctly now.
Mike
On Jan 16, 2009, at 12:03 PM, Michael Jerris wrote:
Quote: | All long running non js code should be wrapped in the suspend/resume gc stuff. For example:
cb_state.ret = BOOLEAN_TO_JSVAL(JS_FALSE);
cb_state.saveDepth = JS_SuspendRequest(cx);
args.input_callback = dtmf_func;
args.buf = bp;
args.buflen = len;
switch_ivr_sleep(jss->session, ms, sync, &args);
JS_ResumeRequest(cx, cb_state.saveDepth);
I think this is your issue. Can you please file a bug on jira for this issue (even better with a patch)
Mike
On Jan 16, 2009, at 5:54 AM, Jonas Gauffin wrote:
Quote: | I've found the problem. one js thread wait in socket.read (mod_spidermonkey_socket) on data.
That caller have hangup, which means that the garbage collector waits on it to close.
All new javascript sessions waits in JS_AWAIT_GC_DONE for the garbage collector to be done before proceeding (which means that all new javascript calls don't do anything after being launched).
My server will not send anything until an agent gets free or the session hangs up (detects it through the event socket). And the event socket will not send that the session has been hangup until the socket have received anything (and the script can exit). So it's kind of deadlock between my server and the spidermonkey_socket.
Is it possible to add an option to socket.read to make it abort if the session have been closed? I know that I wrote mod_spidermonkey_socket from the start, but I can't figure out how to do it.
Will new sessions always wait on old ones to be garbage collected properly? For instance, what happens if a script have a lenghty post process after caller have hang up?
On Fri, Jan 16, 2009 at 9:38 AM, Jonas Gauffin <jonas.gauffin@gmail.com (jonas.gauffin@gmail.com)> wrote:
Quote: | I've got a loop, but the first thing checked in each iteration is if session.ready() returns false (and in that case exit the loop).
I do create sessions in the script: create, try to originate to a destination and then finally bridge together the caller and the new session.
I'll try to give you more details during the day.
On Fri, Jan 16, 2009 at 12:48 AM, Anthony Minessale <anthony.minessale@gmail.com (anthony.minessale@gmail.com)> wrote:
|
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users@lists.freeswitch.org (Freeswitch-users@lists.freeswitch.org)
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
|
|
|
|
Back to top |
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|