An alternate strategy to exec'ing is to instead expose the low-level C/C++ APIs as Tcl commands. If the code in question isn't thread safe, you can create a library that you would load from the nsproxy, which if you remember, is basically just a single-threaded tclsh that is fork'd and exec'd from the main nsd process.

   http://www.imagemagick.org/www/magick-wand.html

- n

[EMAIL PROTECTED] wrote:
I use exec for Image Magick, though not in a high-concurrency environment.
I wonder how Photo.net deals with this; I always understood they use Image
Magick this way. Maybe they did in the beginning and have now switched to
a module?

Does anyone have experience with using TclMagick inside AOLserver?

Cheers,
Bas.


On Wednesday, August 30, 2006 4:29, Jeff Hobbs said:
Tom Jackson wrote:
On Saturday 19 August 2006 21:07, Tom Jackson wrote:
On Saturday 19 August 2006 19:12, Hossein Sharifi wrote:
 (although I do plan to fix the
incorrect usage of exec as well)
So I've never heard that you can't use exec from AOLserver. How is this
supposed to be done? Where was this discussed? What would an error look
like?
Sorry to respond to my own last post, but I've been trying to find out
more
about this problem of using tcl exec.

As far as I can tell, the problem is trying to use fork (in some tcl
extension
that adds this) and not calling exec in the child process. Is this even
possible in exec to not call exec?

Does anyone know the status of this problem in the tcl community, from
what I
have read, the solutions would not be good for AOLserver.

The best rundown, with links, is here:

<http://aspn.activestate.com/ASPN/Mail/Message/activetcl-dev/2848076>
Haven't written that thread, what else more specifically do you want to
know?  ActiveTcl has been shipping thread-enabled for the last several
releases.  There are some issues with non-core packages (and Tk itself,
but more recently resolved), but it has worked well in general.  OS X
also is thread-built, and even has pthread_atfork usage on Tiger, but it
is slightly prone to issues, and OS X has a different fork()
implementation than some other common unix variants.

You are correct that the main problem is in trying to fork when not
closely followed by exec*().

Jeff


--
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.



--
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.


--
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.

Reply via email to