summaryrefslogtreecommitdiff
path: root/libguile/init.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2012-02-14 14:30:48 +0100
committerAndy Wingo <wingo@pobox.com>2012-02-17 12:11:35 +0100
commit8dfb7bbfd908ca883d0fdd0d868e13e6b20803ae (patch)
treea9de6d013851758e47cab732e79039b51c44187a /libguile/init.c
parent6a97b1f93aace5c7c976aef51d36b3ae9cfd5630 (diff)
downloadguile-8dfb7bbfd908ca883d0fdd0d868e13e6b20803ae.tar.gz
wrap iconv_open / iconv_close with a lock to help in thread/fork issues
* libguile/bytevectors.c (STRING_TO_UTF, scm_string_to_utf8) (UTF_TO_STRING): * libguile/ports.c (open_iconv_descriptors, close_iconv_descriptors): * libguile/strings.c (scm_from_stringn, scm_to_stringn): Wrap operations that acquire and destroy iconv contexts with a mutex. While iconv is threadsafe, internally it uses a lock, and we need to make sure when we fork() that no one has that lock -- so we surround it with another one. Gross.
Diffstat (limited to 'libguile/init.c')
0 files changed, 0 insertions, 0 deletions