summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linuxthreads/sysdeps/pthread/tst-timer.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/linuxthreads/sysdeps/pthread/tst-timer.c b/linuxthreads/sysdeps/pthread/tst-timer.c
index 9d80a7d900..4c62ef2170 100644
--- a/linuxthreads/sysdeps/pthread/tst-timer.c
+++ b/linuxthreads/sysdeps/pthread/tst-timer.c
@@ -61,8 +61,22 @@ main (void)
struct timespec ts;
timer_t timer_sig, timer_thr1, timer_thr2;
int retval;
- struct sigevent sigev1 = { SIGEV_SIGNAL, ZSIGALRM, { 0 }, notify_func, 0 };
- struct sigevent sigev2 = { SIGEV_THREAD, 0, { 0 }, notify_func, 0 };
+ struct sigevent sigev1 =
+ {
+ .sigev_notify = SIGEV_SIGNAL,
+ .sigev_signo = ZSIGALRM
+ };
+ struct sigevent sigev2 =
+ {
+ .sigev_notify = SIGEV_THREAD,
+ ._sigev_un =
+ {
+ ._sigev_thread =
+ {
+ ._function = notify_func
+ }
+ }
+ };
struct itimerspec itimer1 = { { 0, 200000000 }, { 0, 200000000 } };
struct itimerspec itimer2 = { { 0, 100000000 }, { 0, 500000000 } };
struct itimerspec itimer3 = { { 0, 150000000 }, { 0, 300000000 } };
@@ -80,20 +94,10 @@ main (void)
printf ("clock_getres returned %d, timespec = { %ld, %ld }\n",
retval, ts.tv_sec, ts.tv_nsec);
-#if 1
timer_create (CLOCK_REALTIME, &sigev1, &timer_sig);
-#else
- timer_create (CLOCK_REALTIME, 0, &timer_sig);
-#endif
-
timer_create (CLOCK_REALTIME, &sigev2, &timer_thr1);
timer_create (CLOCK_REALTIME, &sigev2, &timer_thr2);
-#if 0
- if (fork ())
- exit (1);
-#endif
-
timer_settime (timer_thr1, 0, &itimer2, &old);
timer_settime (timer_thr2, 0, &itimer3, &old);