diff options
| author | Eli Zaretskii | 2012-10-27 21:32:30 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-10-27 21:32:30 +0200 |
| commit | 2e612797ce51736ccdcd1076b3d0f36eb4c17182 (patch) | |
| tree | c2b35aa3d8b325a7c3927fb724ef034ebd32f0c8 /src | |
| parent | 15cc05e98486f43b21aaf6e7428fa9f08ddd9e94 (diff) | |
| download | emacs-2e612797ce51736ccdcd1076b3d0f36eb4c17182.tar.gz emacs-2e612797ce51736ccdcd1076b3d0f36eb4c17182.zip | |
Use 'volatile' types for communications between timer thread and main thread.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/w32proc.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 2efebc6754d..398d19fe6f2 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -4,8 +4,8 @@ | |||
| 4 | possible, for ITIMER_PROF count only times the main thread | 4 | possible, for ITIMER_PROF count only times the main thread |
| 5 | actually executes. | 5 | actually executes. |
| 6 | * w32proc.c <struct itimer_data>: 'expire' and 'reload' are now | 6 | * w32proc.c <struct itimer_data>: 'expire' and 'reload' are now |
| 7 | ULONGLONG types. Likewise for all the other data which was | 7 | 'volatile ULONGLONG' types. All the other data which was |
| 8 | previously clock_t. | 8 | previously clock_t is now ULONGLONG. 'terminate' is 'volatile int'. |
| 9 | (GetThreadTimes_Proc): New typedef. | 9 | (GetThreadTimes_Proc): New typedef. |
| 10 | (w32_get_timer_time): New function, returns a suitable time value | 10 | (w32_get_timer_time): New function, returns a suitable time value |
| 11 | for the timer. | 11 | for the timer. |
diff --git a/src/w32proc.c b/src/w32proc.c index 6accf2224c5..af656f915c7 100644 --- a/src/w32proc.c +++ b/src/w32proc.c | |||
| @@ -245,9 +245,9 @@ setpgrp (int pid, int gid) | |||
| 245 | expires, after stopping the thread which installed the timer. */ | 245 | expires, after stopping the thread which installed the timer. */ |
| 246 | 246 | ||
| 247 | struct itimer_data { | 247 | struct itimer_data { |
| 248 | ULONGLONG expire; | 248 | volatile ULONGLONG expire; |
| 249 | ULONGLONG reload; | 249 | volatile ULONGLONG reload; |
| 250 | int terminate; | 250 | volatile int terminate; |
| 251 | int type; | 251 | int type; |
| 252 | HANDLE caller_thread; | 252 | HANDLE caller_thread; |
| 253 | HANDLE timer_thread; | 253 | HANDLE timer_thread; |