diff options
Diffstat (limited to 'src/systhread.c')
| -rw-r--r-- | src/systhread.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/systhread.c b/src/systhread.c index a84060c18f0..aee12a9b482 100644 --- a/src/systhread.c +++ b/src/systhread.c | |||
| @@ -20,6 +20,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 20 | #include <setjmp.h> | 20 | #include <setjmp.h> |
| 21 | #include "lisp.h" | 21 | #include "lisp.h" |
| 22 | 22 | ||
| 23 | #ifdef HAVE_NS | ||
| 24 | #include "nsterm.h" | ||
| 25 | #endif | ||
| 26 | |||
| 23 | #ifndef THREADS_ENABLED | 27 | #ifndef THREADS_ENABLED |
| 24 | 28 | ||
| 25 | void | 29 | void |
| @@ -130,6 +134,13 @@ void | |||
| 130 | sys_cond_broadcast (sys_cond_t *cond) | 134 | sys_cond_broadcast (sys_cond_t *cond) |
| 131 | { | 135 | { |
| 132 | pthread_cond_broadcast (cond); | 136 | pthread_cond_broadcast (cond); |
| 137 | #ifdef HAVE_NS | ||
| 138 | /* Send an app defined event to break out of the NS run loop. | ||
| 139 | It seems that if ns_select is running the NS run loop, this | ||
| 140 | broadcast has no effect until the loop is done, breaking a couple | ||
| 141 | of tests in thread-tests.el. */ | ||
| 142 | ns_run_loop_break (); | ||
| 143 | #endif | ||
| 133 | } | 144 | } |
| 134 | 145 | ||
| 135 | void | 146 | void |