True -- the original threading in AOLserver 2.0 way back in 1995 (yes,
1995) was based on a thread-safe hacked Tcl 7.3. I can't recall where
I got it -- I think someone at UCB did the work. We later hacked Tcl
7.4 and 8.1 on our own before enough support was in the Tcl core and
we were ready to give up on "ns_share" which was a significant hack
that couldn't reasonably be brought forward.
The integration still isn't perfect and AOLserver isn't built directly
on Tcl threads, maintaining it's "nsthreads" library which works well
enough with Tcl (differences in how thread-specific data are handled
is one area of divergence). Today nsthreads is a thin wrapper on
Posix or Win32 threads but in the past it was a bit more involved
(AOLserver pre-dates the final Posix thread spec).
-Jim
On Apr 12, 2008, at 4:26 PM, Jeff Hobbs wrote:
Andrew Piskorski wrote:
On Fri, Apr 11, 2008 at 02:11:30PM -0700, Tom Jackson wrote:
It is hard to say if these newer languages (C# and MONO) have
these features, probably VB and Python don't:
task scheduling: ns_schedule_proc, ns_job
concurrent collections: nsv arrays, ns_share, static vars (config
structure)
atomic variables: nsv arrays
synchronizers: ns_mutex, ns_cond, etc.
Incidentally, those aren't so much language features, they're more
features of the AOLserver/Tcl API and environment. "Tcl" didn't have
nsv_* or ANY of the cool stuff above until Jim Davidson and crew
added
them to AOLserver sometime c. the mid 1990's, after all...
Jim and crew deserve much credit for the very advanced state of
Tcl's threading capabilities, but he was by no means the first or
only person doing mt tcl. There were a few different attempts from
various people for various reasons. It was just the AOL guys that
had the most complete and worked with the core guys at the time for
integration.
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.