This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=378dc79c12027e252ec2f99a5c12255c487072d9 The branch, wip-thread-safe-popen has been created at 378dc79c12027e252ec2f99a5c12255c487072d9 (commit) - Log ----------------------------------------------------------------- commit 378dc79c12027e252ec2f99a5c12255c487072d9 Author: Mark H Weaver <[email protected]> Date: Sun Nov 17 02:54:31 2013 -0500 Make (ice-9 popen) thread-safe. * module/ice-9/popen.scm: Import (ice-9 threads). (port/pid-table): Mark as deprecated in comment. (port/pid-table-mutex): New variable. (open-pipe*): Stash the pid in the port's alist. Lock 'port/pid-table-mutex' while mutating 'port/pid-table'. (fetch-pid): Fetch the pid from the port's alist. Don't touch 'port/pid-table'. (close-process-quietly): Don't add the port to 'port/pid-table-mutex', since it was never removed. (close-pipe): Improve error message. (reap-pipes): Check to see if the port is already closed. commit aa2d1143a05b82692ca965a2aa7d07e12c92e8c6 Author: Mark H Weaver <[email protected]> Date: Sun Nov 17 02:46:08 2013 -0500 Stylistic improvements for (ice-9 popen). * module/ice-9/popen.scm (close-process, close-process-quietly): Accept 'port' and 'pid' as separate arguments. Improve style. (close-pipe, read-pipes): Improve style. commit 5eb377ad8db716457b5750b54daa28b249006acd Author: Mark H Weaver <[email protected]> Date: Sun Nov 17 01:11:57 2013 -0500 Make port alists accessible from Scheme. * libguile/ports.c (scm_i_port_alist, scm_i_set_port_alist_x): Make these available from Scheme, as '%port-alist' and '%set-port-alist!'. Validate port argument. * libguile/ports.h (scm_i_set_port_alist_x): Change return type from 'void' to 'SCM'. commit 467e1d4c0438d24e310a45bc7370bd19b0e8c659 Author: Mark H Weaver <[email protected]> Date: Sun Nov 17 03:35:09 2013 -0500 Make guardians thread-safe. * libguile/guardians.c (t_guardian): Add mutex. (finalize_guarded, scm_i_guard, scm_i_get_one_zombie): Lock mutex and block system asyncs during critical sections. (scm_make_guardian): Initialize mutex. commit f68f42d2014bb3dfb8a0d7c502f9d3d9593ee458 Author: Mark H Weaver <[email protected]> Date: Sun Nov 17 03:19:32 2013 -0500 Block system asyncs while 'overrides_lock' is held. * libguile/procprop.c (scm_set_procedure_property_x): Block system asyncs while overrides_lock is held. Use dynwind block in case an exception is thrown. commit 9b48be7107f3f98cdf2e756d4c1f4c937ff233d7 Author: Mark H Weaver <[email protected]> Date: Sun Nov 17 04:00:29 2013 -0500 Add mutex locking functions that also block asyncs. * libguile/async.h (scm_i_pthread_mutex_lock_with_asyncs, scm_i_pthread_mutex_unlock_with_asyncs): New macros. * libguile/threads.c (do_unlock_with_asyncs): New static helper. (scm_i_dynwind_pthread_mutex_lock_with_asyncs): New function. * libguile/threads.h (scm_i_dynwind_pthread_mutex_lock_with_asyncs): Add prototype. ----------------------------------------------------------------------- hooks/post-receive -- GNU Guile
