Commit Graph

2057 Commits

Author SHA1 Message Date
Red Bear OS ab699eaa50 sys_wait: drop unnecessary unsafe around Out::from_mut in waitid 2026-07-16 22:08:17 +09:00
Red Bear OS 3ed376e153 sys_wait: implement waitid (idtype_t/id_t/P_*/CLD_*, siginfo population)
Adapted from the archived local P3-waitid.patch. Fills a POSIX gap needed by
job-control-capable shells (brush/nix). waitid() maps (idtype,id)->waitpid pid,
translates WEXITED/WSTOPPED/WCONTINUED/WNOWAIT options, and populates siginfo_t
(si_pid/si_signo/si_code/si_status) from the wait status.
2026-07-16 21:28:52 +09:00
Red Bear OS 323b95416b redox: implement getrlimit/setrlimit with a per-process limits table (finite RLIMIT_NOFILE) 2026-07-16 06:39:43 +09:00
Red Bear OS aa219c6509 rb: add cbindgen config for bits_eventfd (eventfd_t type)
bits/eventfd.h defines the eventfd_t 64-bit counter type used by
sys/eventfd.h. Without this config, cbindgen skipped the directory
and the type wasn't generated.
2026-07-12 19:35:50 +03:00
Red Bear OS e47a604197 rb: add cbindgen config for sys_timerfd
sys_timerfd was fully implemented in Rust (timerfd_create,
timerfd_settime, timerfd_gettime, itimerspec support) but lacked
the cbindgen.toml needed to generate the <sys/timerfd.h> C header.
Qt6's QSocketNotifier and many other C programs depend on this header.
Without it, cbindgen skips the directory entirely.

This adds the cbindgen config + trailer with all function prototypes,
matching the pattern used by sys_signalfd.
2026-07-12 19:19:35 +03:00
vasilito d8ced461fa Add __fseterr and __freadahead to stdio ext (P3-stdio-fseterr patch) 2026-07-12 16:05:57 +03:00
Red Bear OS 0ce58a8c0d fix: add stdint.h to signal.h sys_includes
Generated signal.h uses uint32_t, int32_t, uint64_t, uintptr_t etc.
without including stdint.h, causing compilation failures in C packages
that include signal.h (diffutils, etc).
2026-07-12 03:19:44 +03:00
Red Bear OS f222c3464b fix: resolve 6 compilation errors from patch absorption
- fcntl/mod.rs: Remove misplaced F_DUPFD_CLOEXEC fallback code from
  inside the flock struct definition (bad patch merge artifact)
- fcntl/mod.rs: Remove unused 'close' import
- signal/mod.rs: Remove duplicate 'mod signalfd' declaration
- pthread/mod.rs: Add Pal+Sys imports for sched_yield() in pthread_yield
- time/mod.rs: Remove duplicate From<&TimeSpec> impl (already in
  bits_timespec/mod.rs)
- pthread/mod.rs: Add FINISHED flag to PthreadFlags and set it on
  thread exit (referenced by pthread_kill in signal/mod.rs)
2026-07-12 02:12:54 +03:00
Red Bear OS fa54b985ff absorb: 27 orphaned relibc patches re-applied (Phase 1.0A)
Per local/docs/PATCH-PRESERVATION-AUDIT-2026-07-12.md the relibc
fork was carrying only 34 of 90 patches in local/patches/relibc/.
The other 56 patches' content was silently missing from the fork.

This commit re-applies 27 patches that genuinely still apply
cleanly. Recovery covers:

- eventfd implementation (sys/eventfd.h + eventfd.rs)
- signalfd implementation (sys/signalfd.h + signalfd.rs)
- timerfd implementation (sys/timerfd.h + timerfd.rs)
- bits/eventfd.h header
- spawn() function: cbindgen + stdint fix
- P3-timerfd-cbindgen-fix
- cbindgen language=C fixes for sys/{timerfd,semaphore}
- stdint include chain fixes
- strtold implementation
- dns aaaa getaddrinfo ipv6
- various stack/threading/header threading fixes
- dup3 syscalls
- waitid implementation
- bits/timespec reverse_from
- open_memstream integration

24 files changed.
2026-07-12 01:29:50 +03:00
Red Bear OS 11195dac6d relibc: fix unsafe block for from_bytes_with_nul_unchecked in eventfd 2026-07-11 18:46:16 +03:00
Red Bear OS 4b9f90c2b9 relibc: fix eventfd EventFlags constants (EVENT_READ/WRITE not FLAG_) 2026-07-11 18:43:54 +03:00
Red Bear OS 1a121303a3 relibc: implement eventfd() using event scheme
Creates sys_eventfd header module providing eventfd(), eventfd_read(),
and eventfd_write(). Uses the kernel event scheme (/scheme/event) on
Redox, returning ENOSYS on Linux. Required for packages like Python
that link against eventfd.
2026-07-11 18:35:03 +03:00
Red Bear OS 353c43ce13 relibc: add missing IPV6_{RECVPKTINFO,PKTINFO,RECVTCLASS,TCLASS} socket option constants 2026-07-11 18:02:43 +03:00
Red Bear OS af769016b4 relibc: add LDBL_DIG, DECIMAL_DIG, LDBL_MIN/MAX_10_EXP to float.h cbindgen
C11 <float.h> requires these macros. Without them, gnulib-based
packages (diffutils, coreutils, etc.) fail with 'LDBL_DIG undeclared'.
2026-07-11 13:57:03 +03:00
Red Bear OS 48b3490ad6 relibc: fix unsafe block for mutable static access (Rust 2024) 2026-07-11 13:48:02 +03:00
Red Bear OS 03e71cd749 relibc: implement getprogname() in stdlib
BSD extension used by diffutils, coreutils, and other GNU software.
Returns the basename of program_invocation_name.
2026-07-11 13:42:06 +03:00
auronandace d5afd3fe81 add documentation for functions relating to controlling terminal 2026-07-09 13:23:16 +01:00
auronandace 60d98aebf2 correct definition for PTHREAD_NULL 2026-07-08 14:38:51 +01:00
Jeremy Soller e16f2a4e0d Merge branch 'manual-let-else' into 'master'
apply manual_let_else clippy lint

See merge request redox-os/relibc!1536
2026-07-08 06:01:40 -06:00
auronandace 3af54162cf add description to pthread_once function 2026-07-08 12:17:09 +01:00
auronandace 7840bfcdd1 apply manual_let_else clippy lint 2026-07-08 10:07:15 +01:00
Connor-GH d465f3d34d sys_ioctl: add Redox implementations for tcdrain, tcflow, and tcsendbreak
Strangely enough, the `dup_write` was already done for `tcflush`, but wasn't implemented in ptyd.
2026-07-07 16:51:18 -05:00
auronandace bcbd9bb69c share some more termios constants 2026-07-07 08:57:07 +01:00
Jeremy Soller 82d444324e Explicitly include features.h in sys/types.h 2026-07-06 17:37:20 -06:00
Jeremy Soller 77f87530c1 Merge branch 'threads-bits' into 'master'
split out pthread types for threads header

See merge request redox-os/relibc!1532
2026-07-06 12:19:20 -06:00
Jeremy Soller c699b37cc0 Merge branch 'ftok-doc' into 'master'
add descriptions to the ftok function and ipc_perm struct members

See merge request redox-os/relibc!1529
2026-07-06 12:18:34 -06:00
auronandace d7859174b7 split out pthread types for threads header 2026-07-06 16:41:09 +01:00
auronandace 5acc81cc97 add descriptions to the ftok function and ipc_perm struct members 2026-07-06 14:46:07 +01:00
auronandace ff37890ea2 add descriptions to termios iflags 2026-07-06 14:06:53 +01:00
Jeremy Soller 52bb3bbfe3 Merge branch 'ptr-offset-by-literal-lint' into 'master'
add ptr_offset_by_literal clippy lint and set to deny

See merge request redox-os/relibc!1527
2026-07-06 06:04:43 -06:00
Jeremy Soller c8d99d6481 Merge branch 'termios-func-doc' into 'master'
document termios functions

See merge request redox-os/relibc!1526
2026-07-06 05:45:24 -06:00
auronandace bf6dc24407 add ptr_offset_by_literal clippy lint and set to deny 2026-07-06 12:40:43 +01:00
auronandace 3683a14ab4 document termios functions 2026-07-06 11:26:04 +01:00
Wildan M 4a327141d5 Add _GNU_SOURCE to get bits/uio.h 2026-07-06 07:13:43 +07:00
auronandace fe1c4e0135 add descriptions to sleep and nanosleep 2026-07-05 10:50:57 +01:00
auronandace 185b49b73e split out pthread_attr_t 2026-07-04 17:16:08 +01:00
Jeremy Soller 1ef6fb94e2 Merge branch 'systypes-guard' into 'master'
refactor sys_types_internal to reduce namespace pollution

See merge request redox-os/relibc!1511
2026-07-03 11:36:06 -06:00
auronandace 93d6fc091f refactor sys_types_internal to reduce namespace pollution 2026-07-03 14:23:00 +01:00
auronandace 572c33a522 document functions in pthread cond 2026-07-03 13:17:38 +01:00
Jeremy Soller 984ce223e5 Merge branch 'pthread-attr-docs' into 'master'
document pthread attr functions

See merge request redox-os/relibc!1509
2026-07-02 08:30:00 -06:00
auronandace bc228c3d91 document pthread attr functions 2026-07-02 13:08:16 +01:00
auronandace e714c570bc make mut_from_ref deny 2026-07-02 08:28:38 +01:00
Ibuki Omatsu fba233467a refactor: Move fd allocation logic into userspace 2026-07-01 08:08:23 -06:00
Mathew John Roberts 9bd2b595f9 Merge branch 'doc-termios-flags' into 'master'
add descriptions to cc constants for termios

See merge request redox-os/relibc!1506
2026-06-30 07:27:39 +01:00
Mathew John Roberts 61046e2af8 Merge branch 'doc-string-func' into 'master'
add descriptions to some string header functions

See merge request redox-os/relibc!1505
2026-06-30 07:27:22 +01:00
Mathew John Roberts ddd94ce4c0 Merge branch 'utime-doc' into 'master'
add descriptions to utime header

See merge request redox-os/relibc!1503
2026-06-30 07:27:01 +01:00
Mathew John Roberts b3b60d7943 Merge branch 'pthread-spin-doc' into 'master'
add descriptions to pthread spin lock functions

See merge request redox-os/relibc!1502
2026-06-30 07:26:36 +01:00
auronandace 759bdb06b2 add descriptions to cc constants for termios 2026-06-29 13:38:49 +01:00
auronandace 6ab0d57510 add descriptions to some string header functions 2026-06-29 11:51:47 +01:00
auronandace e5f4f3d179 add descriptions to utime header 2026-06-29 09:12:11 +01:00