Sébastien Marie
a9c75a2b48
openbsd: add pollfd interface
2021-01-01 20:05:19 -08:00
Frank Denis
6c2e0c2046
Year++
2020-12-31 15:45:24 -08:00
LemonBoy
daed2ba2a0
std: Add more standard type definitions for FreeBSD
...
Closes #7550
2020-12-30 10:25:43 -08:00
LemonBoy
b297c2eae9
std: Fix compilation on FreeBSD/Darwin
2020-12-29 10:40:26 -07:00
LemonBoy
2c16a96686
std: Fix poll definitions for FreeBSD/Darwin
2020-12-29 10:40:00 -07:00
Andrew Kelley
8fc765387f
Merge pull request #7449 from kristoff-it/macos-termios
...
add termios bits for darwin
2020-12-26 17:13:17 -08:00
Sébastien Marie
6e2622661c
openbsd: implement segfault handling on openbsd x86_64
2020-12-23 20:47:06 +02:00
Loris Cro
9bb0da6100
added comments, removed useless comptime keywords
2020-12-23 17:28:59 +01:00
Loris Cro
8c00c7473c
add termios bits for darwin
2020-12-23 17:28:59 +01:00
Sébastien Marie
4420dabdf5
openbsd: fix siginfo_t struct definition
...
`_proc` struct part contains an union for kill/cld parts.
see [siginfo_t](77c6c13150/sys/sys/siginfo.h (L132) )
2020-12-23 11:08:55 +02:00
Alex Cameron
60020fd545
Enable segfault handling on FreeBSD.
2020-12-23 11:02:05 +02:00
Andrew Kelley
53987c932c
std.crypto.random: introduce fork safety
...
Everybody gets what they want!
* AT_RANDOM is completely ignored.
* On Linux, MADV_WIPEONFORK is used to provide fork safety.
* On pthread systems, `pthread_atfork` is used to provide fork safety.
* For systems that do not have the capability to provide fork safety,
the implementation falls back to calling getrandom() every time.
* If madvise is unavailable or returns an error, or pthread_atfork
fails for whatever reason, it falls back to calling getrandom() every
time.
* Applications may choose to opt-out of fork safety.
* Applications may choose to opt-in to unconditionally calling
getrandom() for every call to std.crypto.random.fillFn.
* Added `std.meta.globalOption`.
* Added `std.os.madvise` and related bits.
* Bumped up the size of the main thread TLS buffer. See the comment
there for justification.
* Simpler hot path in TLS initialization.
2020-12-18 15:54:01 -07:00
Tau
9b86dde7b9
Add baudrate constants
...
This adds the missing baudrate constants for linux where I've used them
directly.
2020-12-17 19:17:10 +02:00
Dmitry Atamanov
e16997a66c
Add process_madvise to Linux syscalls ( #7450 )
2020-12-17 18:58:09 +02:00
Sébastien Marie
8bf5a3a5c1
openbsd: correct few structs
...
- addrinfo: addr and canonname are switched (wrong layout)
- addrinfo, Flock, msghdr struct: use proper c_xxx type instead of fixed size. it should help using struct on all architectures supported by openbsd
2020-12-15 14:49:42 -05:00
data-man
8591f30b0d
Add missed Linux syscalls
2020-12-14 18:22:28 +02:00
LemonBoy
d9e9390550
Fix compilation error on OpenBSD
2020-12-13 20:36:47 +01:00
LemonBoy
bb72b0e800
Fix compilation error on FreeBSD
2020-12-13 20:36:34 +01:00
LemonBoy
97ba3d9a66
std: Drop struct prefixes in FreeBSD siginfo
...
I'm not sure this prefix-free style is a good idea, but let's roll with
it for the moment.
2020-12-13 19:45:11 +01:00
Alex Cameron
7515922907
Fix Sigaction struct on FreeBSD.
2020-12-13 19:37:13 +01:00
LemonBoy
3375a580be
std: Update more siginfo bits for BSDs
2020-12-13 19:28:38 +01:00
LemonBoy
fc70db5ab5
std: Fixes for siginfo test on macos
...
Xnu's sigaction() only supports fetching a limited set of sa_flags, test
SA_SIGINFO instead of SA_RESETHAND as that's supported everywhere.
Add another check to make sure SA_RESETHAND works.
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2020-12-13 19:17:04 +01:00
LemonBoy
629cc6cf28
std: Further siginfo refinements
...
* Define siginfo and sigaction for Darwin
* Define sigaction/handler union for maximum libc compatibility
* Minor correction to some type definitions
2020-12-12 16:44:10 +01:00
LemonBoy
beae3cea17
std: Improve sigaction interface
...
Add a smoke test to prevent regressions.
2020-12-12 13:57:25 +01:00
Jonathan Marler
b587a42233
add std.os.shutdown function for sockets
2020-11-30 11:25:03 -08:00
Isaac Freund
58365c4e79
std/os: fix prctl constants
2020-11-25 15:45:55 -08:00
Isaac Freund
8cf319d206
std/os: define and use dev_t for linux x86_64
2020-11-20 17:35:52 -08:00
Isaac Freund
f473b3e87c
std/os: add time_t definiton for x86_64 linux
2020-11-20 17:23:43 -08:00
Sébastien Marie
8784c7b581
openbsd: proper implementation for Thread.cpuCount()
2020-11-10 05:25:59 +00:00
Sébastien Marie
20b19d0092
openbsd: add time definitions for gettimeofday()
2020-11-10 05:24:56 +00:00
Sébastien Marie
e4bc595bc6
openbsd: add sockets constants
2020-11-10 05:24:03 +00:00
Sébastien Marie
17276df488
openbsd: add dlfcn.h definitions for dlopen()
2020-11-10 05:23:13 +00:00
Andrew Kelley
c9551652b0
Merge pull request #6978 from LemonBoy/statshit
...
Decouple kernel and libc stat definitions
2020-11-05 17:27:22 -05:00
Andrew Kelley
cf7505da1f
Merge pull request #6974 from daurnimator/prctl-cleanup
...
prctl improvements
2020-11-05 17:25:24 -05:00
Andrew Kelley
f85d719952
Merge pull request #6895 from jorangreef/fallocate
...
linux: add fallocate()
2020-11-05 17:23:00 -05:00
LemonBoy
cca6b11138
Label WASI stat as kernel_stat
...
We're using WASI syscalls, it makes sense to put the kernel_ prefix.
2020-11-05 12:44:43 +01:00
LemonBoy
0e95fa455c
std: Split kernel&libc definitions of stat struct
...
There's no guarantee for the kernel definition to be ABI compatible with
the libc one (and vice versa).
There's also no guarantee of ABI compatibility between musl/glibc.
Fun, isn't it?
2020-11-05 09:38:50 +01:00
LemonBoy
346a686b9d
std: Correct stack_t definition for mips
2020-11-04 15:55:06 +01:00
daurnimator
b42ffbe9e8
std: use PR enum as only location of opcode numbers
2020-11-04 22:39:35 +11:00
daurnimator
b90fb1e96b
std: add PR enum for the prctl opcode
2020-11-04 22:32:57 +11:00
Jakub Konka
5060497174
Merge pull request #6921 from xackus/gimmeMoreOfThoseSweetSweetFileDescriptors
...
stage2: ask for more file descriptors
2020-11-03 10:07:39 +01:00
Jakub Konka
8dda64fa3e
Fix Darwin codepath
...
On Darwin, according to the man pages for setrlimit(), when adjusting
max number of open fds, the reported hard max by getrlimit() is only
theoretical, while the actual maximum, set in the kernel, is hardcoded
in the header file. Therefore, the reported max has to be adjusted
as `min(OPEN_MAX, lim.max)`.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-11-03 00:38:43 +01:00
Andrew Kelley
909aae8153
Merge pull request #6792 from koachan/sparc64-linux
...
Initial sparc64-linux bringup
2020-11-01 22:14:56 -05:00
xackus
6418284680
std: add {set,get}rlimit bits and improve test
2020-11-01 15:47:46 -05:00
Joran Dirk Greef
2fdb30a571
Add definitions for FALLOC_FL_ mode flags
2020-11-01 11:47:09 +02:00
Joran Dirk Greef
ab1ed93ad9
Add close_range, faccessat2 and process_madvise
2020-10-30 12:39:01 +02:00
Joran Dirk Greef
9423ed1671
Add more mips syscall numbers
...
As per: lib/libc/musl/arch/mips/bits/syscall.h.in
...and as promised: https://github.com/ziglang/zig/pull/6356#issuecomment-696023349
Thanks @daurnimator again for the help with #6356 .
2020-10-30 11:53:45 +02:00
Koakuma
891c6ddd5f
Select stat struct type based on whether we are linking with libc
2020-10-30 11:46:33 +07:00
Andrew Kelley
a41c0b63bb
Merge pull request #6356 from jorangreef/io_uring
...
std: add io_uring library
2020-10-29 18:20:38 -04:00
Koakuma
5125eb77bd
Use the *_stat type as self
2020-10-29 21:37:45 +07:00