1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-19 19:20:23 +02:00
guile/module/ice-9
Ludovic Courtès 533e3ff170 Serialize accesses to submodule hash tables.
Fixes <https://bugs.gnu.org/30602>.

Previously, when compiling files in parallel like Guix does, threads
would be concurrently inserting, rehashing, and reading the submodule
hash table of module ().  Thus, some threads would sometimes see an
inconsistent state, leading to errors such as:

  Module named (system repl debug) does not exist

* module/ice-9/boot-9.scm (call-with-module-autoload-lock): Move higher
in the file.
(module-name): Use it around call to 'nested-define-module!'.
(resolve-module): Wrap the whole thing in 'call-with-module-autoload-lock'.
2018-07-01 18:37:59 +02:00
..
peg Remove 'define-grammar-f' 2013-01-16 10:11:50 +01:00
and-let-star.scm Fix SRFI-2 (and-let*) implementation. 2016-06-21 13:40:01 +02:00
arrays.scm Fix bitvectors and non-zero lower bound arrays in truncated-print 2017-10-31 13:23:44 +01:00
atomic.scm Compiler support for atomics 2016-09-06 12:18:35 +02:00
binary-ports.scm Implement R6RS custom binary input/output ports 2016-08-04 22:29:51 +02:00
boot-9.scm Serialize accesses to submodule hash tables. 2018-07-01 18:37:59 +02:00
buffered-input.scm bugfixes and simplifications to ice-9 buffered-input. 2010-10-05 19:55:37 +02:00
calling.scm
ChangeLog-2008
channel.scm
command-line.scm Update --version and REPL copyright years 2017-03-15 09:12:55 +01:00
common-list.scm
compile-psyntax.scm Psyntax generates new syntax objects 2017-03-28 19:23:13 +02:00
control.scm Add suspendable-continuation? 2016-12-12 21:13:00 +01:00
curried-definitions.scm Provide curried version of define*-public. 2014-07-31 16:05:58 +01:00
debug.scm gut ice-9 debug 2010-07-16 17:35:43 +02:00
deprecated.scm Reimplement dynamic states 2016-12-05 21:46:37 +01:00
documentation.scm
eval-string.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
eval.scm Better errors for odd-length keyword args 2017-02-28 22:01:20 +01:00
expect.scm
fdes-finalizers.scm Add file descriptor finalizers 2016-08-30 23:35:10 +02:00
format.scm String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
ftw.scm scandir: Avoid 'stat' calls on each entry. 2017-03-01 20:40:26 +01:00
futures.scm Revert "futures: Limit the number of nested futures on the same stack." 2017-02-28 10:45:21 +01:00
gap-buffer.scm
getopt-long.scm Fix record constructor in getopt-long. 2012-11-08 21:53:36 -05:00
hash-table.scm Add procedures to convert alists into hash tables. 2013-11-18 23:03:38 -05:00
hcons.scm
history.scm Use `define-module*' in (ice-9 history). 2010-11-20 00:47:12 +01:00
i18n.scm i18n: add international sign positions to %locale-dump 2017-03-20 22:35:49 -07:00
iconv.scm add read-string and read-string! to (ice-9 rdelim) 2013-01-22 15:15:43 +01:00
lineio.scm
list.scm
local-eval.scm Merge branch 'stable-2.0' 2014-01-14 01:30:56 -05:00
ls.scm
mapping.scm deprecate (ice-9 mapping) 2013-02-24 15:11:14 +01:00
match.scm Improve run-time error reporting in (ice-9 match). 2013-08-15 04:07:55 -04:00
match.upstream.scm Match and srfi-9 expose their bailouts to the CSE pass 2014-04-05 11:56:44 +02:00
networking.scm
null.scm
occam-channel.scm
optargs.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
peg.scm Remove 'define-grammar-f' 2013-01-16 10:11:50 +01:00
poe.scm (ice-9 poe) does not get handles from weak hash tables 2011-05-01 23:01:13 +02:00
poll.scm Merge commit 'f6ddf827f8' 2014-02-07 14:51:42 +01:00
popen.scm Improve correctness and consistency of 'eval-when' usage. 2014-01-23 10:41:22 -05:00
ports.scm put-char in Scheme 2016-06-09 10:59:02 +02:00
posix.scm
pretty-print.scm Fix bitvectors and non-zero lower bound arrays in truncated-print 2017-10-31 13:23:44 +01:00
psyntax-pp.scm psyntax generates calls to make-struct/no-tail 2017-09-20 21:55:21 +02:00
psyntax.scm psyntax generates calls to make-struct/no-tail 2017-09-20 21:55:21 +02:00
q.scm
quasisyntax.scm
r5rs.scm
r6rs-libraries.scm Fix R6RS imports of interfaces that use interfaces 2016-04-14 12:35:55 +02:00
rdelim.scm VM support for string-set!; slimmer read-string 2017-03-09 17:24:06 +01:00
README
receive.scm more define-syntax-rule usage 2011-09-02 11:36:14 +02:00
regex.scm In fold-matches, set regexp/notbol unless matching string start. 2012-09-26 23:46:05 +02:00
runq.scm
rw.scm
safe-r5rs.scm
safe.scm
sandbox.scm Add sandboxed evaluation facility 2017-04-18 21:27:45 +02:00
save-stack.scm Avoid stacks in dynamically-bound values 2017-02-07 09:57:55 +01:00
scm-style-repl.scm Update old-style REPL code for deprecation 2014-04-02 12:08:48 +02:00
serialize.scm Deprecate dynamic roots 2016-11-21 23:09:21 +01:00
session.scm rtl-program? -> program? 2013-11-19 19:11:40 +01:00
slib.scm fix ice-9/slib 2013-01-10 17:30:38 +01:00
stack-catch.scm deprecate save-stack, stack-saved? 2010-06-19 12:57:31 +02:00
streams.scm Re-implement (ice-9 streams) in terms of (srfi srfi-41) 2015-03-09 13:48:38 +01:00
string-fun.scm
suspendable-ports.scm Add accept4 support 2017-02-15 22:10:25 +01:00
syncase.scm
test.scm Placate a number of `syntax-check' verifications. 2012-01-05 23:38:10 +01:00
textual-ports.scm Update port documentation, rename sports to suspendable ports 2016-06-09 10:50:32 +02:00
threads.scm Make module autoloading thread-safe. 2018-06-18 14:14:47 +02:00
time.scm
top-repl.scm current-language is a parameter in boot-9 2013-01-22 15:38:04 +01:00
unicode.scm Add (ice-9 unicode) module 2014-09-29 21:54:14 -04:00
vlist.scm vlist: Remove Texinfo markup from docstrings. 2012-11-27 23:02:15 +01:00
weak-vector.scm Add weak-vector-length, weak-vector-ref, weak-vector-set! 2014-02-07 13:00:41 +01:00

This directory contains various bits of Guile Scheme code.
Most of these are packaged as modules, with foo.scm implementing
the module `(ice-9 foo)'.

The non-module files are:

boot-9.scm	-- loaded on guile startup
		   implements module system + lots of other stuff
arrays.scm	-- loaded by boot-9.scm
networking.scm	-- loaded by boot-9.scm
posix.scm	-- loaded by boot-9.scm
r4rs.scm	-- loaded by boot-9.scm