[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master updated (fc0fd24 -> 2412a1f)
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master updated (fc0fd24 -> 2412a1f) |
Date: |
Sat, 10 Dec 2016 17:08:07 +0000 (UTC) |
eliz pushed a change to branch master.
from fc0fd24 Fix further problems with quoted file names in Tramp
adds 68b3248 This introduces a thread-state object and moves various C
globals there. It also introduces #defines for these globals to avoid a
monster patch.
adds 2d525b7 This parameterizes the GC a bit to make it thread-ready.
adds 14b3dc5 This introduces the low-level system threading support.
It also adds the global lock. The low-level support is a bit over-eager, in
that even at the end of the present series, it will not all be used. I think
thiat is ok since I plan to use it all eventually -- in particular for the
emacs lisp mutex implementation.
adds e160922 This introduces some new functions to handle the specpdl.
The basic idea is that when a thread loses the interpreter lock, it will
unbind the bindings it has put in place. Then when a thread acquires the lock,
it will restore its bindings.
adds 60a9d2a This turns thread_state into a pseudovector and updates
various bits of Emacs to cope.
adds 1dcacbc This adds most of the thread features visible to emacs
lisp.
adds 51100bb This supplies the mutex implementation for Emacs Lisp.
adds fc196ac This adds some tests of the threading code.
adds 8d3566c This adds names to mutexes. This seemed like a nice
debugging extension.
adds dbb33d4 This adds thread-blocker, a function to examine what a
thread is blocked on. I thought this would be another nice debugging addition.
adds 0ccc5d8 fix a latent bug in process.c
adds aa14ccd1 Prepare process.c for threads by not having global select
masks. The next step is to make it so selects can choose fds by thread.
adds 6c0d5ae process changes
adds c26c683 add test case for I/O switching
adds abb9e9d declare unbind_for_thread_switch and
rebind_for_thread_switch in lisp.h
adds f52cfea write docstrings for the thread functions
adds b3c78ff refactor systhread.h
adds ee1464e comment fixes
adds 5651640 condition variables
adds 977c4aa use NILP
adds 3cbf5b1 ensure name of a mutex is a string
adds 9dad5e5 ensure name of a thread is a string
adds 1fb339b add condition-mutex and condition-name
adds 266c1c2 minor docstring fixup
adds b94de89 another docstring fixlet
adds 49bc1a9 Merge from trunk
adds fb77afb add convenience macros with-mutex and until-condition
adds 68608de pass the thread name to the OS if possible
adds 66ddd17 document process-thread and set-process-thread
adds c6bb874 rename condition-variablep to condition-variable-p
adds 0ec3764 first draft of threads documentation
adds c2283a7 document until-condition
adds 58c8e9a minor documentation updates
adds 09d7066 minor update to thread-join docs
adds e7c4e87 add tests for variable bindings
adds 599d4a9 fix test suite for condition-variable-p name change
adds 587dd92 cannot thread-join the current thread
adds 303324a link from thread docs to match data
adds bf69f52 merge from trunk
adds 3d6eced merge from trunk
adds 0e10ed2 Remove bit accidentally left over from the merge
adds 63d535c mention let bindings and lack of other ways to rewind
adds e078a23 merge from trunk
adds 6f4de08 merge from trunk
adds 71f9179 merge from trunk
adds 6bd488c merge from trunk
adds dad8121 fix process bugs
adds cbcba8c don't let kill-buffer kill a buffer if it is current in
any thread
adds 68359abb merge from trunk; clean up some issues
adds ac70709 update eval.c to make it build again after the merge
adds 313dfb6 fix a few latent issues in the thread patch
adds 5ccb7e7 merge from trunk
adds fbadec0 Fix a comment.
adds 1d10d04 remove unused field from struct thread_state
adds c60685a Don't call unbind_for_thread_switch in run_thread
adds 39d7c9d introduce thread_alive_p macro
adds 2efa60a unlink thread later
adds b09859f fix buglet in test case
adds e7b4d03 initialize saved_value
adds 9db4b98 avoid current_thread sometimes
adds 3bf8db9 avoid SAFE_ALLOCA
adds 32ca162 call init_primary_thread from init_threads
adds 0a6f2ff add assertion to flush_stack_call_func
adds 6dacdad merge from trunk
adds 65ddc9f fix xfree bug in run_thread
adds e6f6307 Use thread_alive_p in a couple more spots
adds b34a529 Merge from trunk
adds cc231cb merge from trunk
adds 6d75555 merge from trunk
adds 1ce4c63 fix up some merge errors in process.c
adds 793ea50 merge from trunk
adds 2ee7755 implement --enable-threads and a thread-less mode
adds c160274 use record_unwind_protect_void, avoid warning
adds 6e9fb70 Fix MS-Windows build.
adds 545af85 fix whitespace_regexp warning
adds 5b05b5a add a comment before flush_stack_call_func
adds 6a64a71 make thread_check_current_buffer return bool
adds c44fedc fix style of threadp, mutexp, and condition-variable-p
adds 07efb14 remove binding_symbol
adds 8c46d17 rename thread-blocker to thread--blocker
adds 4458614 zap until-condition
adds c1456e3 zap until-condition docs
adds 0e82377 use condition-notify in the docs, not condition-signal
adds dbe17fe Enable thread support in the MS-Windows build.
adds e57df8f Improve MS-Windows implementation of threads.
adds bed1087 Fix crashes when unbind_for_thread_switch signals an
error.
adds 7793601 change condition-variablep to condition-variable-p
adds 6a31219 * src/eval.c (unbind_for_thread_switch): Fix iteration
over the specpdl stack.
adds 39372e1 merge from trunk
adds 470e302 Fix the MS-Windows build
adds e7bde34 ; * src/systhread.c [WINDOWSNT]: Fix typos in comments.
adds de4624c Merge branch 'concurrency'
adds e4deba0 Fix merged code in process.c and eval.c.
adds 66a5abb Fix compilation problems.
adds 137898d Fix a typo in bytecode.c.
adds 8ad9241 Fix the test suite
adds 16ac7c0 Minimize spurious diffs from master.
adds fa7d1f0 Fix network streams.
adds 128cacd Add a NEWS entry.
adds 54f52a1 Fix compilation warnings
adds 3ef50c1 Fix subtle errors with let-binding of localized variables
adds ae49006 Fix compilation on Debian GNU/Linux
adds 7399f53 Fix compilation warnings due to prototype of thread_select
adds a708a5c Fix compilation error on Fedora 24
adds ad03e7a *src/sysdep.c: Fix a comment.
adds 19bc430 Documentation and commentary improvements
adds e4df093 Fix building with check-lisp-object-type
adds c364d62 Improve doc strings in thread.c
adds 828b456 Fix error messages in thread.c
new 2412a1f Support concurrency in Emacs Lisp
Summary of changes:
configure.ac | 22 +-
doc/lispref/Makefile.in | 1 +
doc/lispref/elisp.texi | 11 +
doc/lispref/objects.texi | 89 +++-
doc/lispref/processes.texi | 30 ++
doc/lispref/threads.texi | 252 ++++++++++++
etc/DEBUG | 2 +-
etc/NEWS | 13 +
lisp/subr.el | 14 +
nt/inc/sys/socket.h | 1 +
src/.gdbinit | 15 +
src/Makefile.in | 1 +
src/alloc.c | 110 ++++-
src/buffer.c | 5 +-
src/buffer.h | 4 -
src/bytecode.c | 203 ++++++---
src/data.c | 39 ++
src/emacs.c | 14 +-
src/eval.c | 268 ++++++++----
src/lisp.h | 162 ++++++--
src/print.c | 36 ++
src/process.c | 547 +++++++++++++++----------
src/process.h | 5 +
src/regex.c | 6 -
src/regex.h | 8 +-
src/search.c | 22 +-
src/sysdep.c | 9 +-
src/systhread.c | 417 +++++++++++++++++++
src/systhread.h | 112 +++++
src/thread.c | 970 ++++++++++++++++++++++++++++++++++++++++++++
src/thread.h | 237 +++++++++++
src/w32.c | 2 +-
src/w32proc.c | 8 +-
src/window.c | 8 +-
src/xgselect.c | 12 +-
test/src/data-tests.el | 81 ++++
test/src/thread-tests.el | 213 ++++++++++
37 files changed, 3497 insertions(+), 452 deletions(-)
create mode 100644 doc/lispref/threads.texi
create mode 100644 src/systhread.c
create mode 100644 src/systhread.h
create mode 100644 src/thread.c
create mode 100644 src/thread.h
create mode 100644 test/src/thread-tests.el
- [Emacs-diffs] master updated (fc0fd24 -> 2412a1f),
Eli Zaretskii <=