summaryrefslogtreecommitdiff
path: root/qt/README
diff options
context:
space:
mode:
Diffstat (limited to 'qt/README')
-rw-r--r--qt/README89
1 files changed, 0 insertions, 89 deletions
diff --git a/qt/README b/qt/README
deleted file mode 100644
index b014b91bf..000000000
--- a/qt/README
+++ /dev/null
@@ -1,89 +0,0 @@
-This is a source code distribution for QuickThreads. QuickThreads is a
-toolkit for building threads packages; it is described in detail in the
-University of Washington CS&E Technical report #93-05-06, available via
-anonymous ftp from `ftp.cs.washington.edu' (128.95.1.4, as of Oct. '94)
-in `tr/1993/05/UW-CSE-93-05-06.PS.Z'.
-
-This distribution shows basic ideas in QuickThreads and elaborates with
-example implementations for a gaggle of machines. As of October those
-machines included:
-
- 80386 faimly
- 88000 faimily
- DEC AXP (Alpha) family
- HP-PA family
- KSR
- MIPS family
- SPARC V8 family
- VAX family
-
-Configuration, build, and installation are described in INSTALL.
-
-Be aware: that there is no varargs code for the KSR.
-
-The HP-PA port was designed to work with both HP workstations
-and Convex SPP computers. It was generously provided by Uwe Reder
-<uereder@cip.informatik.uni-erlangen.de>. It is part of the ELiTE
-(Erlangen Lightweight Thread Environment) project directed by
-Frank Bellosa <bellosa@informatik.uni-erlangen.de> at the Operating
-Systems Department of the University of Erlangen (Germany).
-
-Other contributors include: Weihaw Chuang, Richard O'Keefe,
-Laurent Perron, John Polstra, Shinji Suzuki, Assar Westerlund,
-thanks also to Peter Buhr and Dirk Grunwald.
-
-
-Here is a brief summary:
-
-QuickThreads is a toolkit for building threads packages. It is my hope
-that you'll find it easier to use QuickThreads normally than to take it
-and modify the raw cswap code to fit your application. The idea behind
-QuickThreads is that it should make it easy for you to write & retarget
-threads packages. If you want the routine `t_create' to create threads
-and `t_block' to suspend threads, you write them using the QuickThreads
-`primitive' operations `QT_SP', `QT_INIT', and `QT_BLOCK', that perform
-machine-dependent initialization and blocking, plus code you supply for
-performing the portable operatons. For example, you might write:
-
- t_create (func, arg)
- {
- stk = malloc (STKSIZE);
- stackbase = QT_SP (stk, STKSIZE);
- sp = QT_INIT (stakcbase, func, arg);
- qput (runq, sp);
- }
-
-Threads block by doing something like:
-
- t_block()
- {
- sp_next = qget (runq);
- QT_BLOCK (helper, runq, sp_next);
- // wake up again here
- }
-
- // called by QT_BLOCK after the old thread has blocked,
- // puts the old thread on the queue `onq'.
- helper (sp_old, onq)
- {
- qput (onq, sp_old);
- }
-
-(Of course) it's actually a bit more complex than that, but the general
-idea is that you write portable code to allocate stacks and enqueue and
-dequeue threads. Than, to get your threads package up and running on a
-different machine, you just reconfigure QuickThreads and recompile, and
-that's it.
-
-The QuickThreads `distribution' includes a sample threads package (look
-at stp.{c,h}) that is written in terms of QuickThreads operations. The
-TR mentioned above explains the simple threads package in detail.
-
-
-
-If you do use QuickThreads, I'd like to hear both about what worked for
-you and what didn't work, problems you had, insights gleaned, etc.
-
-Let me know what you think.
-
-David Keppel <pardo@cs.washington.edu>