aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorDmitry Antipov2014-07-28 10:28:15 +0400
committerDmitry Antipov2014-07-28 10:28:15 +0400
commit768b24eb0e880c0b39e36fd089905cdca572a758 (patch)
tree75899b103fedc549e5d17294d39bfcb4ed0a9bc9 /test
parent7daa4ff121ad8da6e609b959d5c95796e5d3a9eb (diff)
downloademacs-768b24eb0e880c0b39e36fd089905cdca572a758.tar.gz
emacs-768b24eb0e880c0b39e36fd089905cdca572a758.zip
On GNU/Linux, use timerfd for asynchronous timers.
* configure.ac (toplevel): Check whether GNU/Linux-specific timerfd functions and macros are available. * m4/clock_time.m4 (gl_CLOCK_TIME): Check for clock_getres as well. * src/atimer.c (toplevel) [HAVE_TIMERFD]: Include sys/timerfd.h. (toplevel): Rename alarm_timer_ok to special_timer_available. [HAVE_TIMERFD]: Declare timerfd. [HAVE_CLOCK_GETRES]: Declare resolution. (start_atimer) [HAVE_CLOCK_GETRES]: Round up timestamp to system timer resolution. (set_alarm) [HAVE_TIMERFD]: Use timerfd_settime. (timerfd_callback) [HAVE_TIMERFD]: New function. (atimer_result, debug_timer_callback, Fdebug_timer_check) [ENABLE_CHECKING]: New function for the sake of automated tests. (init_atimer) [HAVE_TIMERFD]: Setup timerfd. [HAVE_CLOCK_GETRES]: Likewise for system timer resolution. [ENABLE_CHECKING]: Defsubr test function. * src/atimer.h (timerfd_callback) [HAVE_TIMERFD]: Add prototype. * src/lisp.h (add_timer_wait_descriptor) [HAVE_TIMERFD]: Likewise. * src/process.c (add_timer_wait_descriptor) [HAVE_TIMERFD]: New function. * test/automated/timer-tests.el (timer-tests-debug-timer-check): New test.
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog4
-rw-r--r--test/automated/timer-tests.el6
2 files changed, 9 insertions, 1 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index 6afa9ea8959..140b5d04efd 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,7 @@
12014-07-28 Dmitry Antipov <dmantipov@yandex.ru>
2
3 * automated/timer-tests.el (timer-tests-debug-timer-check): New test.
4
12014-07-26 Ulf Jasper <ulf.jasper@web.de> 52014-07-26 Ulf Jasper <ulf.jasper@web.de>
2 6
3 * automated/icalendar-tests.el (icalendar-tests--do-test-import): 7 * automated/icalendar-tests.el (icalendar-tests--do-test-import):
diff --git a/test/automated/timer-tests.el b/test/automated/timer-tests.el
index bc95df5e773..f8e8414f8d7 100644
--- a/test/automated/timer-tests.el
+++ b/test/automated/timer-tests.el
@@ -34,5 +34,9 @@
34 (sit-for 0 t) 34 (sit-for 0 t)
35 (should timer-ran))) 35 (should timer-ran)))
36 36
37;;; timer-tests.el ends here 37(ert-deftest timer-tests-debug-timer-check ()
38 ;; This function exists only if --enable-checking.
39 (if (fboundp 'debug-timer-check)
40 (should (debug-timer-check)) t))
38 41
42;;; timer-tests.el ends here