bugfix with used pointer members
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 25 Jan 2022 03:21:42 +0000 (21:21 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Tue, 25 Jan 2022 03:21:42 +0000 (21:21 -0600)
core/runtime/wasi.onyx
src/types.c

index 417035dec87dc6a1584c8e6a73cb5204399bfe96..eba29f7ba045215ba9fc0972d867ccd335de4593 100644 (file)
@@ -29,6 +29,27 @@ __read_from_input :: (buffer: [] u8) -> i32 {
     return read;
 }
 
+__sleep :: (milliseconds: u32) {
+    tagged: SubscriptionTagged;
+    tagged.tag = .Clock;
+    tagged.clock = .{
+        id = .Realtime,
+        timeout = cast(u64) milliseconds * 1000000,
+        precision = 1,
+        flags = ~~0,
+    };
+
+    subscription := Subscription.{
+        userdata = 0,
+        u = tagged,
+    };
+
+    event: Event;
+    number_of_events: u32;
+
+    error_code := poll_oneoff(^subscription, ^event, 1, ^number_of_events);
+}
+
 
 // The builtin _start proc.
 // Sets up everything needed for execution.
index fb4068bcb1e7a4952a6210527b300a6bfa6056e8..d5f2b176d3403e59334e990dee5b95703b8ad22c 100644 (file)
@@ -439,7 +439,7 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) {
                         new_smem.included_through_use = 1;
 
                         if (type_is_pointer) {
-                            new_smem.offset = offset;
+                            new_smem.offset = (*psmem)->offset;
                             new_smem.idx = (*psmem)->idx;
                             new_smem.initial_value = NULL;
                             new_smem.use_through_pointer_index = idx;