diff options
| author | Eli Zaretskii | 2014-03-25 18:00:37 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2014-03-25 18:00:37 +0200 |
| commit | defd53bdc5ef9d75fa112487d76f4d7a4cb9fe92 (patch) | |
| tree | 74a6ded6b17e777ad30256887d54ef0d17a7287c | |
| parent | 1e952f0a7a1d0cc533438dcad37db08d8af6855f (diff) | |
| download | emacs-defd53bdc5ef9d75fa112487d76f4d7a4cb9fe92.tar.gz emacs-defd53bdc5ef9d75fa112487d76f4d7a4cb9fe92.zip | |
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 @@ | |||
| 1 | 2014-03-25 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32.c (w32_delayed_load): Call DisableThreadLibraryCalls on the | ||
| 4 | DLL handle, to speed up thread startup. | ||
| 5 | |||
| 1 | 2014-03-25 Paul Eggert <eggert@cs.ucla.edu> | 6 | 2014-03-25 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 7 | ||
| 3 | Handle sigmask better with nested signal handlers (Bug#15561). | 8 | Handle sigmask better with nested signal handlers (Bug#15561). |
| @@ -8702,6 +8702,13 @@ w32_delayed_load (Lisp_Object library_id) | |||
| 8702 | /* Possibly truncated */ | 8702 | /* Possibly truncated */ |
| 8703 | ? make_specified_string (name, -1, len, 1) | 8703 | ? make_specified_string (name, -1, len, 1) |
| 8704 | : Qnil); | 8704 | : Qnil); |
| 8705 | /* This prevents thread start and end notifications | ||
| 8706 | from being sent to the DLL, for every thread we | ||
| 8707 | start. We don't need those notifications because | ||
| 8708 | threads we create never use any of these DLLs, only | ||
| 8709 | the main thread uses them. This is supposed to | ||
| 8710 | speed up thread creation. */ | ||
| 8711 | DisableThreadLibraryCalls (dll_handle); | ||
| 8705 | break; | 8712 | break; |
| 8706 | } | 8713 | } |
| 8707 | } | 8714 | } |