guile-devel
[Top][All Lists]
Advanced

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

make-struct critical section throw


From: Kevin Ryde
Subject: make-struct critical section throw
Date: Tue, 13 Feb 2007 07:03:59 +1100
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

Another error thrown from within an SCM_CRITICAL_SECTION_START,

        (define vv (make-vtable-vtable "" 0))
        (define v  (make-struct vv 0 (make-struct-layout "uw")))
        (make-struct v 0 'x)
        => abort

scm_make_struct has a critical section around the struct
initialization, but when scm_struct_init tries to convert the symbol
'x (an initializer) with scm_to_ulong for the "u" type field, an error
can be thrown.

Anyone know why there's a critical section there?  Was it to stop
signal handlers in the past seeing half-initialized data?  Can it be
safely done outside a section now?  I'm guessing yes.  The gc won't
mind seeing garbage in SCMs fields in the data array, will it?




reply via email to

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