Andrew Kelley
a98fa56ae9
std: [breaking] move errno to become an nonexhaustive enum
...
The primary purpose of this change is to eliminate one usage of
`usingnamespace` in the standard library - specifically the usage for
errno values in `std.os.linux`.
This is accomplished by truncating the `E` prefix from error values, and
making errno a proper enum.
A similar strategy can be used to eliminate some other `usingnamespace`
sites in the std lib.
2021-08-24 01:23:28 -04:00
daurnimator
72c4b80d31
std.os: (p)writev should perform partial writes if iov.len > IOV_MAX
...
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2021-08-22 22:22:53 +03:00
Aydin Mercan
e3e6df17ed
linux: Add recent clone/clone3 and missing signalfd flags.
...
The following flags have been introduced:
- CLONE_PIDFD (>=5.2)
- CLONE_INTO_CGROUP (>=5.7)
- SFD_CLOEXEC and SFD_NONBLOCK (>=2.6.27)
2021-08-21 19:41:00 +03:00
Ayende Rahien
65208a7fa2
Expose register_eventfd, register_eventfd_async, unregister_eventfd i… ( #9449 )
...
* Expose register_eventfd, register_eventfd_async, unregister_eventfd in the IO URing API
* Fixing formatting
* Fixing typo
* Removing unnecessary casts and adding better comments for a single registration of eventfd
* Update lib/std/os/linux/io_uring.zig
Co-authored-by: Joran Dirk Greef <joran@coil.com>
* Update lib/std/os/linux/io_uring.zig
Co-authored-by: Joran Dirk Greef <joran@coil.com>
* Updating util function name
Co-authored-by: Joran Dirk Greef <joran@coil.com>
2021-08-13 22:41:18 -05:00
Takeshi Yoneda
97560cd915
Merge remote-tracking branch 'origin' into libc-wasi-test
2021-08-09 14:39:26 +09:00
Takeshi Yoneda
7814a2bd4a
review: use defined flag for oflags.
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
2021-08-09 14:36:11 +09:00
Klecko
5789036b86
linux: add missing FUTEX definitions
2021-08-07 15:35:27 +03:00
N00byEdge
871f6343f4
Move iovec and log levels to bits/posix.zig
...
This lets only the OSes that uses them to import them, and removes
dependencies on bits.zig for the os/<os>/<arch>.zig files
2021-08-02 11:05:05 +00:00
N00byEdge
934df5bd44
Make linux syscalls accessible with non-Linux target OS
2021-08-02 11:05:05 +00:00
Vincent Rischmann
accde7fe2d
windows: add wrappers for LocalFree, SetThreadDescription and GetThreadDescription
2021-07-29 10:57:08 +02:00
Vincent Rischmann
0be1e74902
windows/kernel32: add LocalFree, SetThreadDescription and GetThreadDescription
2021-07-29 10:57:08 +02:00
Mahdi Khanalizadeh
15bec20b00
linux: add mknod and mknodat syscalls
2021-07-28 18:15:41 -04:00
Takeshi Yoneda
1e20a62126
WASI,libc: enable tests.
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io>
2021-07-27 09:01:00 +09:00
Michal Ziulek
18b8738069
Fixed compile error: 'bMenu' needs to casted. ( #9426 )
2021-07-22 01:28:21 +02:00
Biolunar
093e10b66e
linux stdlib: fix definition of RW flags ( #9428 )
2021-07-22 01:27:59 +02:00
Kenta Iwasaki
aa2a31612f
io_uring: add sqe prep methods for epoll_ctl, poll_add, and poll_remove
...
Implement io_uring submission queue entry preparation methods for
epoll_ctl, poll_add and poll_remove.
Poll masks are designated as 32-bit little-endian integers as
specified in liburing's definitions.
Updated io_uring_prep_rw to take in an unsigned 64-bit address instead
of an anytype. io_uring_sqe by default assumes that the address
specified in a submission queue entry is an unsigned 64-bit integer.
2021-07-11 09:15:54 +00:00
Malcolm Still
a3703745eb
Add waitid syscall on linux ( #9335 )
2021-07-10 16:56:41 -04:00
Carlos Zúñiga
b936bbd2f1
Fixed builtin.Target -> std.Target
2021-07-07 07:54:38 +03:00
Andrew Kelley
b7da1b2d45
Merge pull request #9175 from kprotty/thread
...
std.Thread enhancements
2021-07-04 22:31:02 -04:00
Andrew Kelley
41336acb0b
AstGen: detect redeclaration of function parameters
...
Also improve redeclaration error message to include the category of
variable.
2021-07-02 13:27:35 -07:00
kprotty
f0fa129e9b
std.Thread: more cleanup & testing
2021-06-30 21:49:00 -05:00
kprotty
009c95b8ec
std.Thread: more fixes
2021-06-30 21:49:00 -05:00
kprotty
3a276be135
std.Thread.getCpuCount(): fix usages
2021-06-30 21:48:59 -05:00
kprotty
0a1def7833
changes to accomodate std.Thread update
2021-06-30 21:48:59 -05:00
Nameless
908b431abe
std/os/uefi: fix packed struct bitfields
2021-06-30 09:28:08 +03:00
Sreehari Sreedev
b8329351b1
boot_services: allow custom MemoryTypes
2021-06-30 09:26:09 +03:00
Andrew Kelley
06129d7e3d
std: implement a cross platform file locking abstraction
...
This modifies the lock semantics from using AccessMode to using
NtLockFile/NtUnlockFile.
This is a breaking change.
2021-06-29 14:25:04 -07:00
Andrew Kelley
488f68069b
implement std.fs.File.setLock for Windows
2021-06-29 14:25:04 -07:00
Andrew Kelley
1534cd2f88
Merge pull request #9148 from marler8997/windowsChildOutput
...
finish ChildProcess collectOutputWindows
2021-06-25 21:42:18 -04:00
Andrew Kelley
d279a23c93
mips: fix syscall_pipe
...
Previously the fd parameter was ignored and so the result would not get
populated. Now it passes the fd pointer to the inline assembly so that
the results can be observed.
2021-06-21 17:03:04 -07:00
Andrew Kelley
3d8aa97165
std.os.linux.bpf: fix incorrect usage of unexpectedErrno
2021-06-21 17:03:03 -07:00
Andrew Kelley
59d6b7bbb9
std.os.linux: fix splitValueBE64
2021-06-21 17:03:03 -07:00
Jacob G-W
9fffffb07b
fix code broken from previous commit
2021-06-21 17:03:03 -07:00
Jacob G-W
641ecc260f
std, src, doc, test: remove unused variables
2021-06-21 17:03:03 -07:00
LemonBoy
fd6d5f1609
std: Fix PIE startup sequence
...
* Don't skip the TLS initialization (Fixes #9083 )
* Add a test case where a PIE program is built and run
* Refactor the common initialization code in the Linux startup
sequence.
2021-06-19 18:02:51 +02:00
Jonathan Marler
9e0338b82e
finish ChildProcess collectOutputWindows
...
This finishes LemonBoy's Draft PR ziglang#6750. It updates ChildProcess to collect the output from stdout/stderr asynchronously using Overlapped IO and named pipes.
2021-06-18 08:26:22 -06:00
LemonBoy
1e0d68e6fb
std: Use WINAPI instead of .Stdcall
2021-06-17 17:39:32 -06:00
LemonBoy
34c00ecf57
std: Avoid deadlocking in ChildProcess.exec
...
Reading stdin&stderr at different times may lead to nasty deadlocks (eg.
when stdout is read before stderr and the child process doesn't write
anything onto stdout).
Implement a polling mechanism to make sure this won't happen: we read
data from stderr/stdout as it becomes ready and then it's copied into an
ArrayList provided by the user, avoiding any kind of blocking read.
2021-06-17 17:39:32 -06:00
Michael Dusan
bfe3558efe
netbsd: add more std.os.bits
2021-06-16 14:46:25 -04:00
Veikka Tuominen
4173a2bc24
add a test for dup and dup2
2021-06-14 12:17:12 +03:00
Samadi van Koten
ee048d6569
Add std.os.dup()
2021-06-14 12:17:12 +03:00
viri
b2879825d7
std.windows: fix OVERLAPPED, add OVERLAPPED_ENTRY
2021-06-13 10:26:02 +03:00
Garrett Squire
a6d72fea06
Make std.ChildProcess exit code u8 to match std.process.exit
...
This patch adjusts the exit code for a child process to be a u8. Since
the WEXITSTATUS macro returns the lower eight bits, it's safe to assume
that we can truncate the returned u32.
2021-06-12 23:13:14 +03:00
Exonorid
f63338195d
Renamed @byteOffsetOf to @offsetOf
2021-06-12 19:16:01 +03:00
protty
2ba68f9f4c
std.Thread.Futex addition ( #9070 )
...
* std.Thread.Futex: implementation + tests
* std.Thread.Futex: fix darwin compile errors
* std.Thread.Futex: fix wait() documentation typo
* std.Thread.Futex: fix darwin version check
* std.Thread.Futex: remove unnecessary comptime keyword
2021-06-12 08:51:37 -05:00
viri
2ce033f415
std.os.windows: implement <timeapi.h> ( #8801 )
2021-06-11 12:19:35 +03:00
Jens Goldberg
a3f7a48d9c
netlink ifi_change no longer reserved
...
The documentation (e.g. `man 7 rtnetlink`) states that ifi_change "is reserved for future use and should be always set to 0xFFFFFFFF". This is no longer true, even though the text hasn't been updated.
2021-06-10 22:13:37 +03:00
viri
13dc34f779
std.Progress: use *W functions on windows
...
Closes #534 .
See: https://source.winehq.org/git/wine.git/blob/refs/heads/stable:/dlls/kernelbase/console.c#l520
2021-06-09 19:10:28 +03:00
viri
610ce544d5
windows: remove TCHAR idiom entirely
2021-06-09 19:10:28 +03:00
Vincent Rischmann
c71e8a30cd
os/linux: add fadvise
2021-06-09 18:15:50 +03:00