summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/timersettime.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-12-10 22:20:11 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-12-10 22:20:11 +0000
commitdc09e38067bde323b85ad8e333182418e720b6fe (patch)
tree98ca0c70cbfce6ae025fc9080225a20f0441fc0c /cpukit/posix/src/timersettime.c
parent2009-12-10 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-dc09e38067bde323b85ad8e333182418e720b6fe.tar.bz2
2009-12-10 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1482 * posix/src/timersettime.c: Exit dispatching critical section.
Diffstat (limited to 'cpukit/posix/src/timersettime.c')
-rw-r--r--cpukit/posix/src/timersettime.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/cpukit/posix/src/timersettime.c b/cpukit/posix/src/timersettime.c
index d7f9176a10..de81dab694 100644
--- a/cpukit/posix/src/timersettime.c
+++ b/cpukit/posix/src/timersettime.c
@@ -104,11 +104,15 @@ int timer_settime(
_POSIX_Timer_TSR,
ptimer
);
- if ( !activated )
+ if ( !activated ) {
+ _Thread_Enable_dispatch();
return 0;
+ }
- /* The timer has been started and is running */
- /* return the old ones in "ovalue" */
+ /*
+ * The timer has been started and is running. So we return the
+ * old ones in "ovalue"
+ */
if ( ovalue )
*ovalue = ptimer->timer_data;
ptimer->timer_data = normalize;
@@ -116,7 +120,7 @@ int timer_settime(
/* Indicate that the time is running */
ptimer->state = POSIX_TIMER_STATE_CREATE_RUN;
_TOD_Get( &ptimer->time );
- _Thread_Enable_dispatch();
+ _Thread_Enable_dispatch();
return 0;
#if defined(RTEMS_MULTIPROCESSING)