Here is the error I get with the loop I mentioned. -Josh [image: Capture.PNG] On Tue, Sep 8, 2009 at 5:05 AM, Michael Giagnocavo <mgg@giagnocavo.net>wrote:
Hi,
Can you please elaborate on the crash you receive when you queue a thread during load?
Thanks,
Michael
*From:* freeswitch-users-bounces@lists.freeswitch.org [mailto: freeswitch-users-bounces@lists.freeswitch.org] *On Behalf Of *Josh Rivers *Sent:* Tuesday, September 08, 2009 12:22 AM *To:* freeswitch-users@lists.freeswitch.org *Subject:* Re: [Freeswitch-users] Subscribing to events in managed C# / .NET
Thanks for the response!
I have tried putting a long-running loop here, but then it blocks anything else managed from happening:
public class TestLoop : ILoadNotificationPlugin
{
public bool Load()
{
EventConsumer con = new EventConsumer("all", "");
while (true)
{
Event ev = con.pop(0);
Log.WriteLine(LogLevel.Notice, "Event: " + ev.serialized_string);
freeswitch.msleep(100);
}
}
}
However, if I fork off a thread here, freeswitch crashes:
public class TestLoop : ILoadNotificationPlugin
{
public bool Load()
{
ThreadPool.QueueUserWorkItem((o) =>
{
Log.WriteLine(LogLevel.Notice, "Thread Starting. ");
EventConsumer con = new EventConsumer("all", "");
while (true)
{
Event ev = con.pop(0);
Log.WriteLine(LogLevel.Notice, "Event: " + ev.serialized_string);
freeswitch.msleep(100);
}
});
return true;
}
}
It doesn't look like this is a good place to start a long-running process?
Thanks!
Josh
On Mon, Sep 7, 2009 at 11:05 PM, Raffaele P. Guidi < raffaele.p.guidi@gmail.com> wrote:
Yes!
public class LoadDemo : ILoadNotificationPlugin {
public bool Load() {
Log.WriteLine(LogLevel.Notice, "LoadDemo running.");
return true;
}
}
this example is from Michael Giagnocavo's Demo.csx which you can find into the mod_managed svn.
And let me add that works like a charm :)
Ciao,
Raffaele
On Sun, Sep 6, 2009 at 22:50, Josh Rivers <josh@radianttiger.com> wrote:
Is there a way to start this when FreeSWITCH starts? The lua and perl modules have a 'startup-script' configuration preference. Is there something similar in mod_managed? Or is there a way to have an api command executed at a startup?
<quote author="Phillip Jones">
Exactly what I was after - thank you!
On Thu, Sep 3, 2009 at 1:54 PM, Jeff Lenk <jlenk@frontiernet.net> wrote:
try something like this
EventConsumer con = new EventConsumer("all", "");
Event ev = con.pop(0);
see lua sample -
http://wiki.freeswitch.org/wiki/Lua#freeswitch.EventConsumer
Phillip Jones-2 wrote:
Hi there,
mod_managed exposes EventReceivedFunction such that:
Session.EventReceivedFunction = (e) =>
{
Log.WriteLine(LogLevel.Alert, "Received Event {0}",
e.ToString());
return "";
};
should trap all events to which i subscribe.
But how do I subscribe to events? What is the .NET / managed equivalent
of:
switch_event_bind(const char *id, switch_event_types_t event, const char
*subclass_name, switch_event_callback_t callback, void *user_data);
Thank you!
_______________________________________________ FreeSWITCH-users mailing list 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
_______________________________________________ FreeSWITCH-users mailing list 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
_______________________________________________ FreeSWITCH-users mailing list 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