kselftests: timers: Check _ALARM clockids are supported before suspending
authorJohn Stultz <john.stultz@linaro.org>
Wed, 13 May 2015 22:13:05 +0000 (15:13 -0700)
committerShuah Khan <shuahkh@osg.samsung.com>
Tue, 26 May 2015 21:58:07 +0000 (15:58 -0600)
It was reported that the alarmtimer-suspend test hangs on older
systems that don't support _ALARM clockids.

This is due to the fact that we don't check if the timer_create
fails, and thus when we suspend, the system will not programatically
resume.

Fix this by checking the timer_create call for errors.

Cc: Shuah Khan <shuahkh@osg.samsung.com>
Cc: Prarit Bhargava <prarit@redhat.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/timers/alarmtimer-suspend.c

index 13586b6..72cacf5 100644 (file)
@@ -152,7 +152,11 @@ int main(void)
                        alarm_clock_id++) {
 
                alarmcount = 0;
-               timer_create(alarm_clock_id, &se, &tm1);
+               if (timer_create(alarm_clock_id, &se, &tm1) == -1) {
+                       printf("timer_create failled, %s unspported?\n",
+                                       clockstring(alarm_clock_id));
+                       break;
+               }
 
                clock_gettime(alarm_clock_id, &start_time);
                printf("Start time (%s): %ld:%ld\n", clockstring(alarm_clock_id),