diff options
author | cvs2svn <admin@example.com> | 1996-10-14 00:58:56 +0000 |
---|---|---|
committer | cvs2svn <admin@example.com> | 1996-10-14 00:58:56 +0000 |
commit | 78d469e4221478f0c79f67fef1d5aa98f2c96f47 (patch) | |
tree | fcf35814ba17653b9b8d16e99af99ea5b39bba5e /ice-9/threads.scm | |
parent | 0682f7ab1dfa23adbf85435d5884b0ec91956a53 (diff) | |
parent | 0f2d19dd46f83f41177f61d585732b32a866d613 (diff) | |
download | guile-pre_vollmer_scm_p.tar.gz |
This commit was manufactured by cvs2svn to create tagpre_vollmer_scm_p
'pre_vollmer_scm_p'.
Diffstat (limited to 'ice-9/threads.scm')
-rw-r--r-- | ice-9/threads.scm | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/ice-9/threads.scm b/ice-9/threads.scm deleted file mode 100644 index bec189009..000000000 --- a/ice-9/threads.scm +++ /dev/null @@ -1,53 +0,0 @@ -;;;; Copyright (C) 1996 Free Software Foundation, Inc. -;;;; -;;;; This program is free software; you can redistribute it and/or modify -;;;; it under the terms of the GNU General Public License as published by -;;;; the Free Software Foundation; either version 2, or (at your option) -;;;; any later version. -;;;; -;;;; This program is distributed in the hope that it will be useful, -;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;;; GNU General Public License for more details. -;;;; -;;;; You should have received a copy of the GNU General Public License -;;;; along with this software; see the file COPYING. If not, write to -;;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. -;;;; -;;;; ---------------------------------------------------------------- -;;;; threads.scm -- User-level interface to Guile's thread system -;;;; 4 March 1996, Anthony Green <green@cygnus.com> -;;;; Modified 5 October 1996, MDJ <djurfeldt@nada.kth.se> -;;;; ---------------------------------------------------------------- -;;;; - - -(define-module #/ice-9/threads) - - - -; --- MACROS ------------------------------------------------------- - -(defmacro-public make-thread (fn . args) - `(call-with-new-thread - (lambda () - (,fn ,@args)) - (lambda args args))) - -(defmacro-public begin-thread (first . thunk) - `(call-with-new-thread - (lambda () - (begin - ,first ,@thunk)) - (lambda args args))) - -(defmacro-public with-mutex (m . thunk) - `(dynamic-wind - (lambda () (lock-mutex ,m)) - (lambda () (begin ,@thunk)) - (lambda () (unlock-mutex ,m)))) - -(defmacro-public monitor (first . thunk) - `(with-mutex ,(make-mutex) - (begin - ,first ,@thunk))) |