diff options
author | Eli Zaretskii <eliz@gnu.org> | 2014-03-25 18:00:37 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2014-03-25 18:00:37 +0200 |
commit | defd53bdc5ef9d75fa112487d76f4d7a4cb9fe92 (patch) | |
tree | 74a6ded6b17e777ad30256887d54ef0d17a7287c | |
parent | 1e952f0a7a1d0cc533438dcad37db08d8af6855f (diff) | |
download | emacs-defd53bdc5ef9d75fa112487d76f4d7a4cb9fe92.tar.gz |
Speed up thread startup on MS-Windows.
src/w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the
DLL handle, to speed up thread startup.
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/w32.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 44ebe76555c..31d90663206 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2014-03-25 Eli Zaretskii <eliz@gnu.org> + + * w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the + DLL handle, to speed up thread startup. + 2014-03-25 Paul Eggert <eggert@cs.ucla.edu> Handle sigmask better with nested signal handlers (Bug#15561). diff --git a/src/w32.c b/src/w32.c index 8802e13e71d..1ffb6ec171f 100644 --- a/src/w32.c +++ b/src/w32.c @@ -8702,6 +8702,13 @@ w32_delayed_load (Lisp_Object library_id) /* Possibly truncated */ ? make_specified_string (name, -1, len, 1) : Qnil); + /* This prevents thread start and end notifications + from being sent to the DLL, for every thread we + start. We don't need those notifications because + threads we create never use any of these DLLs, only + the main thread uses them. This is supposed to + speed up thread creation. */ + DisableThreadLibraryCalls (dll_handle); break; } } |