[Top][All Lists]

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

[Guile-commits] GNU Guile branch, thread-safe-popen, created. v2.0.9-106

From: Mark H Weaver
Subject: [Guile-commits] GNU Guile branch, thread-safe-popen, created. v2.0.9-106-g7bc2898
Date: Sun, 17 Nov 2013 15:54:23 +0000

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".

The branch, thread-safe-popen has been created
        at  7bc28986ebdacbe77a43c52f36645c20b2bdf442 (commit)

- Log -----------------------------------------------------------------
commit 7bc28986ebdacbe77a43c52f36645c20b2bdf442
Author: Mark H Weaver <address@hidden>
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*): Store the pid in the port's alist.  Guard the alist
      entry instead of the port.  Lock 'port/pid-table-mutex' while mutating
      (fetch-pid): Removed.
      (fetch-alist-entry): New procedure.
      (close-process-quietly): Removed.
      (close-pipe): Use 'fetch-alist-entry' instead of 'fetch-pid'.  Clear
      the cdr of the alist entry.  Improve error messages.
      (reap-pipes): Adapt to the fact that the alist entries are now guarded
      instead of the ports.  Incorporate the 'waitpid' code that was
      previously in 'close-process-quietly', but let the port finalizer
      close the port.  Clear the cdr of the alist entry.

commit aa2d1143a05b82692ca965a2aa7d07e12c92e8c6
Author: Mark H Weaver <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
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.


GNU Guile

reply via email to

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