guile-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

guile/guile-core/ice-9 threads.scm


From: Thien-Thi Nguyen
Subject: guile/guile-core/ice-9 threads.scm
Date: Fri, 06 Apr 2001 02:51:25 -0700

CVSROOT:        /cvs
Module name:    guile
Changes by:     Thien-Thi Nguyen <address@hidden>       01/04/06 02:51:25

Modified files:
        guile-core/ice-9: threads.scm 

Log message:
        Update copyright.
        
        Use `export' and `export-syntax' instead of
        `define-public' and `defmacro-public'.
        
        (make-thread): Rename first arg to `proc'; nfc.
        (begin-thread, monitor): Rename second arg to `rest'; nfc.
        (with-mutex): Rename second arg to `body'; nfc.

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/guile/guile-core/ice-9/threads.scm.diff?r1=1.5&r2=1.6

Patches:
Index: guile/guile-core/ice-9/threads.scm
diff -u guile/guile-core/ice-9/threads.scm:1.5 
guile/guile-core/ice-9/threads.scm:1.6
--- guile/guile-core/ice-9/threads.scm:1.5      Mon Oct 19 14:23:31 1998
+++ guile/guile-core/ice-9/threads.scm  Fri Apr  6 02:51:25 2001
@@ -1,15 +1,15 @@
-;;;;   Copyright (C) 1996, 1998 Free Software Foundation, Inc.
-;;;; 
+;;;;   Copyright (C) 1996, 1998, 2001 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, Inc., 59 Temple Place, Suite 330,
@@ -19,6 +19,7 @@
 ;;;; threads.scm -- User-level interface to Guile's thread system
 ;;;; 4 March 1996, Anthony Green <address@hidden>
 ;;;; Modified 5 October 1996, MDJ <address@hidden>
+;;;; Modified 6 April 2001, ttn
 ;;;; ----------------------------------------------------------------
 ;;;;
 
@@ -27,51 +28,62 @@
 
 
 
-; --- MACROS -------------------------------------------------------
-
-(define-public (%thread-handler tag . args)
+(define (%thread-handler tag . args)
   (fluid-set! the-last-stack #f)
   (unmask-signals)
   (let ((n (length args))
        (p (current-error-port)))
-  (display "In thread:" p)
-  (newline p)
-  (if (>= n 3)
-      (display-error #f
-                    p
-                    (car args)
-                    (cadr args)
-                    (caddr args)
-                    (if (= n 4)
-                        (cadddr args)
-                        '()))
-      (begin
-       (display "uncaught throw to " p)
-       (display tag p)
-       (display ": " p)
-       (display args p)
-       (newline p)))))
+    (display "In thread:" p)
+    (newline p)
+    (if (>= n 3)
+        (display-error #f
+                       p
+                       (car args)
+                       (cadr args)
+                       (caddr args)
+                       (if (= n 4)
+                           (cadddr args)
+                           '()))
+        (begin
+          (display "uncaught throw to " p)
+          (display tag p)
+          (display ": " p)
+          (display args p)
+          (newline p)))))
 
-(defmacro-public make-thread (fn . args)
+; --- MACROS -------------------------------------------------------
+
+(defmacro make-thread (proc . args)
   `(call-with-new-thread
     (lambda ()
-      (,fn ,@args))
+      (,proc ,@args))
     %thread-handler))
 
-(defmacro-public begin-thread (first . thunk)
+(defmacro begin-thread (first . rest)
   `(call-with-new-thread
     (lambda ()
       (begin
-       ,first ,@thunk))
+       ,first ,@rest))
     %thread-handler))
 
-(defmacro-public with-mutex (m . thunk)
+(defmacro with-mutex (m . body)
   `(dynamic-wind
-    (lambda () (lock-mutex ,m))
-    (lambda () (begin ,@thunk))
-    (lambda () (unlock-mutex ,m))))
+       (lambda () (lock-mutex ,m))
+       (lambda () (begin ,@body))
+       (lambda () (unlock-mutex ,m))))
 
-(defmacro-public monitor (first . thunk)
+(defmacro monitor (first . rest)
   `(with-mutex ,(make-mutex)
-    (begin
-      ,first ,@thunk)))
+     (begin
+       ,first ,@rest)))
+
+;; export
+
+(export %thread-handler)
+
+(export-syntax make-thread
+               begin-thread
+               with-mutex
+               monitor)
+
+;;; threads.scm ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]