summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/posix/src/ptimer.c10
-rw-r--r--cpukit/posix/src/ptimer.c10
2 files changed, 14 insertions, 6 deletions
diff --git a/c/src/exec/posix/src/ptimer.c b/c/src/exec/posix/src/ptimer.c
index f44a0b28b3..81d1d35e1d 100644
--- a/c/src/exec/posix/src/ptimer.c
+++ b/c/src/exec/posix/src/ptimer.c
@@ -589,6 +589,7 @@ int timer_settime(
rtems_status_code return_v; /* Return of the calls to RTEMS */
int timer_pos; /* Position of the timer in the table */
rtems_time_of_day rtems_time; /* Time in RTEMS */
+
/* First the position in the table of timers is obtained */
@@ -623,7 +624,8 @@ int timer_settime(
/* The old data of the timer are returned */
- COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
+ if ( ovalue )
+ COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
/* The new data are set */
@@ -682,7 +684,8 @@ int timer_settime(
/* Actualizes the data of the structure and
* returns the old ones in "ovalue" */
- COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
+ if ( ovalue )
+ COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
COPY_ITIMERSPEC_S ( value, &timer_struct[timer_pos].timer_data );
@@ -757,7 +760,8 @@ int timer_settime(
/* Actualizes the data of the structure and
* returns the old ones in "ovalue" */
- COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
+ if ( ovalue )
+ COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
COPY_ITIMERSPEC_S ( value, &timer_struct[timer_pos].timer_data );
diff --git a/cpukit/posix/src/ptimer.c b/cpukit/posix/src/ptimer.c
index f44a0b28b3..81d1d35e1d 100644
--- a/cpukit/posix/src/ptimer.c
+++ b/cpukit/posix/src/ptimer.c
@@ -589,6 +589,7 @@ int timer_settime(
rtems_status_code return_v; /* Return of the calls to RTEMS */
int timer_pos; /* Position of the timer in the table */
rtems_time_of_day rtems_time; /* Time in RTEMS */
+
/* First the position in the table of timers is obtained */
@@ -623,7 +624,8 @@ int timer_settime(
/* The old data of the timer are returned */
- COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
+ if ( ovalue )
+ COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
/* The new data are set */
@@ -682,7 +684,8 @@ int timer_settime(
/* Actualizes the data of the structure and
* returns the old ones in "ovalue" */
- COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
+ if ( ovalue )
+ COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
COPY_ITIMERSPEC_S ( value, &timer_struct[timer_pos].timer_data );
@@ -757,7 +760,8 @@ int timer_settime(
/* Actualizes the data of the structure and
* returns the old ones in "ovalue" */
- COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
+ if ( ovalue )
+ COPY_ITIMERSPEC_S ( &timer_struct[timer_pos].timer_data, ovalue );
COPY_ITIMERSPEC_S ( value, &timer_struct[timer_pos].timer_data );