summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2018-01-27 17:17:49 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2018-01-27 17:17:49 +0100
commit61a3a8c6ce4e6d42c900ce83cc69256e0b0589a3 (patch)
tree13146f44da6af87a23debd2c05e1c734eada47ba /sysdeps
parent05ebfe87fa9464f0e414329accd82f20d6ec9946 (diff)
hurd: fix warning
timer_ptr2id and timer_id2ptr are used to convert between application-visible timer_t and struct timer_node *. timer_ptr2id was made to use void * instead of timer_t in 49b650430eb5 ('Update.') for no reason. It happens that on Linux timer_t is void *, so both that change and this commit are no-ops there, but not on systems where timer_t is not void *. Using timer_ptr2id for filling sival_ptr also does not make sense since that actually is a void *. * sysdeps/pthread/posix-timer.h (timer_ptr2id): Cast to timer_t instead of void *. * sysdeps/pthread/timer_create.c (timer_create): Do not use timer_ptr2id to cast struct timer_node * to void *.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/pthread/posix-timer.h2
-rw-r--r--sysdeps/pthread/timer_create.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/pthread/posix-timer.h b/sysdeps/pthread/posix-timer.h
index 82311706d8..d7af9a017a 100644
--- a/sysdeps/pthread/posix-timer.h
+++ b/sysdeps/pthread/posix-timer.h
@@ -87,7 +87,7 @@ extern struct thread_node __timer_signal_thread_rclk;
/* Return pointer to timer structure corresponding to ID. */
#define timer_id2ptr(timerid) ((struct timer_node *) timerid)
-#define timer_ptr2id(timerid) ((void *) timerid)
+#define timer_ptr2id(timerid) ((timer_t) timerid)
/* Check whether timer is valid; global mutex must be held. */
static inline int
diff --git a/sysdeps/pthread/timer_create.c b/sysdeps/pthread/timer_create.c
index 1c80e6162f..2381a60d6f 100644
--- a/sysdeps/pthread/timer_create.c
+++ b/sysdeps/pthread/timer_create.c
@@ -77,7 +77,7 @@ timer_create (clockid_t clock_id, struct sigevent *evp, timer_t *timerid)
{
newtimer->event.sigev_notify = SIGEV_SIGNAL;
newtimer->event.sigev_signo = SIGALRM;
- newtimer->event.sigev_value.sival_ptr = timer_ptr2id (newtimer);
+ newtimer->event.sigev_value.sival_ptr = newtimer;
newtimer->event.sigev_notify_function = 0;
}