summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjdike <jdike>2003-04-24 16:49:21 +0000
committerjdike <jdike>2003-04-24 16:49:21 +0000
commitd16f6a9c088366bf1fa91d2bd2a632664662aebc (patch)
treec3bc38b727445f1f57b90c12cbed60814de5ad81
parentca31156ae3df2176a8dda5593af417d9f37a922a (diff)
downloaduml-history-d16f6a9c088366bf1fa91d2bd2a632664662aebc.tar.gz
Fixed a file access time bug and fixed the locking of xtimev_2_4_20_4
-rw-r--r--arch/um/kernel/time.c5
-rw-r--r--arch/um/kernel/time_kern.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c
index 3ad8b5b..34e16dc 100644
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -18,9 +18,12 @@
extern struct timeval xtime;
+struct timeval local_offset = { 0, 0 };
+
void timer(void)
{
gettimeofday(&xtime, NULL);
+ timeradd(&xtime, &local_offset, &xtime);
}
void set_interval(int timer_type)
@@ -82,8 +85,6 @@ void time_init(void)
set_interval(ITIMER_VIRTUAL);
}
-struct timeval local_offset = { 0, 0 };
-
void do_gettimeofday(struct timeval *tv)
{
unsigned long flags;
diff --git a/arch/um/kernel/time_kern.c b/arch/um/kernel/time_kern.c
index b826a72..1743887 100644
--- a/arch/um/kernel/time_kern.c
+++ b/arch/um/kernel/time_kern.c
@@ -58,7 +58,9 @@ void um_timer(int irq, void *dev, struct pt_regs *regs)
{
do_timer(regs);
write_lock(&xtime_lock);
+ vxtime_lock();
timer();
+ vxtime_unlock();
write_unlock(&xtime_lock);
}