On Fri, Aug 27, 2004 at 11:11:59AM -0700, Brett Schwarz wrote: > Sure, I didn't elaborate before, because I was trying to keep the OT > noise down.
Actually, I think this sort of discussion, while not PRECISELY on topic for the AOLserver list, is more than close enough for discsussion. In fact, I'd like to encourage it. Your question is basically one example of, "I know that AOLserver does X really well, I'd like to understand how, so that I can do something similar to X with a different program.". I think those sorts of engineering design questions are likely to teach many of us something useful. > Anyways, there is an open source PBX system (asterisk) that has an > programming interface that is very similar to CGI (in fact it is > called AGI). Right now, it forks off a process everytime an AGI is > called (just like CGI). I would like to change that so that Tcl > scripts are loaded in ahead of time, and are executed in process (no > forking). Pretty much how aolserver runs tcl procs and tcl pages. You might also consider something like FastCGI. Maybe that approach would be easier to integrate into the Asterisk codebase than AOLserver's in-process interpreter approach, I dunno. Now, I've never done it, but my understanding is that anytime you want to combine Tcl and C, your first thing to decide is which language is in charge? In AOLserver the C code is in charge, and that's the way Ousterhout originally envisioned embedding Tcl. The other way, more popular lately, is to make Tcl in charge, and embed all your C functionality into tclsh as new Tcl commands. I imagine that depending on how the Asterisk code is organized, one or both of those approaches should be feasible. But of course, unless the whole codebase is already organized as a library for easy embedding into other code, the AOLserver style "C is in charge" way sounds more likely. > http://linuxjournal.com/article.php?sid=6769 which http://www.asterisk.org/ -- Andrew Piskorski <[EMAIL PROTECTED]> http://www.piskorski.com/ -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.
