diff options
author | Tom Tromey <tromey@redhat.com> | 2012-08-15 13:04:34 -0600 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2012-08-15 13:04:34 -0600 |
commit | e160922c665ba65e1dba5b87a924927e61be43b9 (patch) | |
tree | de8f62c4788a9d641280cabc94767114f462aef4 /lisp/emacs-lisp/lisp-mnt.el | |
parent | 14b3dc5e4f2cdefde1ba04ddd3525115e7ca7dce (diff) | |
download | emacs-e160922c665ba65e1dba5b87a924927e61be43b9.tar.gz emacs-e160922c665ba65e1dba5b87a924927e61be43b9.tar.bz2 emacs-e160922c665ba65e1dba5b87a924927e61be43b9.zip |
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.
This code reuses an existing empty slot in struct specbinding to store
the current value when the thread is "swapped out".
This approach performs worse than my previously planned approach.
However, it was one I could implement with minimal time and
brainpower. I hope that perhaps someone else could improve the code
once it is in.
Diffstat (limited to 'lisp/emacs-lisp/lisp-mnt.el')
0 files changed, 0 insertions, 0 deletions