Browse Source

[sys/linux]: Fix epoll_wait on arm64

flysand7 1 năm trước cách đây
mục cha
commit
cb66ed52ce
1 tập tin đã thay đổi với 5 bổ sung1 xóa
  1. 5 1
      core/sys/linux/sys.odin

+ 5 - 1
core/sys/linux/sys.odin

@@ -2411,7 +2411,11 @@ epoll_wait :: proc(epfd: Fd, events: [^]EPoll_Event, count: i32, timeout: i32) -
 		return errno_unwrap(ret, i32)
 	} else {
 		// Convert milliseconds to nanosecond timespec
-		ret := syscall(SYS_epoll_pwait, epfd, events, count, timeout, nil)
+		timeout_ns := Time_Spec {
+			time_sec = timeout * 1000,
+			time_nsec = 0,
+		}
+		ret := syscall(SYS_epoll_pwait, epfd, events, count, &timeout_ns, rawptr(nil))
 		return errno_unwrap(ret, i32)
 	}
 }