| ... | ... | @@ -1256,21 +1256,23 @@ pub fn munlockall() usize { |
| 1256 | 1256 | } |
| 1257 | 1257 | |
| 1258 | 1258 | pub fn poll(fds: [*]pollfd, n: nfds_t, timeout: i32) usize { |
| 1259 | | return if (@hasField(SYS, "poll")) |
| 1260 | | return syscall3(.poll, @intFromPtr(fds), n, @as(u32, @bitCast(timeout))) |
| 1261 | | else |
| 1262 | | ppoll( |
| 1259 | if (@hasField(SYS, "poll")) { |
| 1260 | return syscall3(.poll, @intFromPtr(fds), n, @as(u32, @bitCast(timeout))); |
| 1261 | } else { |
| 1262 | var ts: timespec = if (timeout >= 0) |
| 1263 | .{ |
| 1264 | .sec = @divTrunc(timeout, 1000), |
| 1265 | .nsec = @rem(timeout, 1000) * 1000000, |
| 1266 | } |
| 1267 | else |
| 1268 | undefined; |
| 1269 | return ppoll( |
| 1263 | 1270 | fds, |
| 1264 | 1271 | n, |
| 1265 | | if (timeout >= 0) |
| 1266 | | @constCast(&timespec{ |
| 1267 | | .sec = @divTrunc(timeout, 1000), |
| 1268 | | .nsec = @rem(timeout, 1000) * 1000000, |
| 1269 | | }) |
| 1270 | | else |
| 1271 | | null, |
| 1272 | if (timeout >= 0) &ts else null, |
| 1272 | 1273 | null, |
| 1273 | 1274 | ); |
| 1275 | } |
| 1274 | 1276 | } |
| 1275 | 1277 | |
| 1276 | 1278 | pub fn ppoll(fds: [*]pollfd, n: nfds_t, timeout: ?*timespec, sigmask: ?*const sigset_t) usize { |