changeset 25:bc532f5e044f

fix volatile
author kono
date Thu, 07 Jul 2022 16:52:48 +0900
parents 80884f8606d2
children 3cb887a6b2ca
files src/device/timer.c src/sysproc.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/device/timer.c	Thu Jul 07 16:42:55 2022 +0900
+++ b/src/device/timer.c	Thu Jul 07 16:52:48 2022 +0900
@@ -53,7 +53,8 @@
 {
     acquire(&tickslock);
     ticks++;
-    wakeup(&ticks);
+    uint *ticks1 = (uint *)ticks; // discard volatile
+    wakeup(&ticks1);
     release(&tickslock);
     ack_timer();
 }
--- a/src/sysproc.c	Thu Jul 07 16:42:55 2022 +0900
+++ b/src/sysproc.c	Thu Jul 07 16:52:48 2022 +0900
@@ -74,7 +74,8 @@
             release(&tickslock);
             return -1;
         }
-        sleep(&(unit)ticks, &tickslock);
+        uint *ticks1 = (uint *)ticks;
+        sleep(ticks1, &tickslock);
     }
 
     release(&tickslock);