guile-cvs
[Top][All Lists]
Advanced

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

guile/guile-core/libguile ChangeLog __scm.h eva...


From: Mikael Djurfeldt
Subject: guile/guile-core/libguile ChangeLog __scm.h eva...
Date: Sun, 15 Dec 2002 09:24:35 -0500

CVSROOT:        /cvsroot/guile
Module name:    guile
Changes by:     Mikael Djurfeldt <address@hidden>       02/12/15 09:24:34

Modified files:
        guile-core/libguile: ChangeLog __scm.h eval.c eval.h print.c 
                             pthread-threads.h snarf.h tags.h threads.c 
                             threads.h 

Log message:
        * __scm.h (SCM_DEFER_INTS, SCM_ALLOW_INTS): New definitions.
        Simply lock a thread C API recursive mutex.
        (SCM_NONREC_CRITICAL_SECTION_START,
        SCM_NONREC_CRITICAL_SECTION_END, SCM_REC_CRITICAL_SECTION_START,
        SCM_REC_CRITICAL_SECTION_END): Removed.
        
        * eval.c: Replaced SOURCE_SECTION_START / SOURCE_SECTION_END with
        direct calls to scm_rec_mutex_lock / unlock around the three calls
        to scm_m_expand_body.
        
        * eval.c, eval.h (promise_free): New function.
        (scm_force): Rewritten;  Now thread-safe; Removed
        SCM_DEFER/ALLOW_INTS.
        
        * pthread-threads.h: Added partially implemented plugin interface
        for recursive mutexes.  These are, for now, only intended to be
        used internally within the Guile implementation.
        
        * pthread-threads.c: New file.
        
        * threads.c: Conditionally #include "pthread-threads.c".
        
        * eval.c, eval.h (scm_makprom, scm_force): Rewritten to be
        thread-safe;
        
        * snarf.h (SCM_MUTEX, SCM_GLOBAL_MUTEX, SCM_REC_MUTEX,
        SCM_GLOBAL_REC_MUTEX): New macros.
        
        * eval.c, threads.c, threads.h, snarf.h: Rewrote critical section
        macros---use mutexes instead.
        
        * tags.h (SCM_IM_FUTURE): New tag.
        
        * eval.c (scm_m_future): New primitive macro.
        (SCM_CEVAL): Support futures.
        (unmemocopy): Support unmemoization of futures.
        
        * print.c (scm_isymnames): Name of future isym.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/ChangeLog.diff?tr1=1.1750&tr2=1.1751&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/__scm.h.diff?tr1=1.93&tr2=1.94&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/eval.c.diff?tr1=1.281&tr2=1.282&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/eval.h.diff?tr1=1.69&tr2=1.70&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/print.c.diff?tr1=1.144&tr2=1.145&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/pthread-threads.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/snarf.h.diff?tr1=1.57&tr2=1.58&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/tags.h.diff?tr1=1.94&tr2=1.95&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/threads.c.diff?tr1=1.39&tr2=1.40&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/guile/guile/guile-core/libguile/threads.h.diff?tr1=1.27&tr2=1.28&r1=text&r2=text




reply via email to

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