Commit Graph

105 Commits

Author SHA1 Message Date
4lDO2 a4dc232a33 Impl getres[ug]id C function. 2025-04-19 19:26:59 +02:00
Josh Megnauth d6ac5f8947 Avoid over allocations & reallocations
As we know, vectors amortize the cost of adding new elements by reserving
space for multiple elements when full. This is useful but may lead to
allocating more memory than necessary.

`relibc` generally avoids over allocations by reserving the exact amount
of space when possible. I fixed a few areas that still over allocated or
reallocated unnecessarily by leveraging iterators that are more likely
to know sizes.
2024-11-14 22:53:12 -05:00
Peter Limkilde Svendsen 06fec0b843 Add various basic docstrings 2024-10-27 23:25:57 +01:00
4lDO2 eee603efa8 Remove the "-1 errno" e() function. 2024-09-27 15:35:04 +02:00
4lDO2 8b8b00da01 Use unsigned return values in read()-like Pal fns.
Returning a negative number of bytes makes absolutely no sense, besides
the "-1 and errno" pattern, which is now converted to Result<_, Errno>.
2024-09-27 10:39:26 +02:00
4lDO2 986754e7b3 Remove all remaining errno interfaces from Pal. 2024-09-27 10:29:32 +02:00
4lDO2 313b32c815 Switch almost all of Pal to Rusty error handling. 2024-09-27 10:19:44 +02:00
4lDO2 4b687c25d2 Convert more Pal methods to Result. 2024-09-26 16:24:01 +02:00
4lDO2 6e5959b3fa Convert a bunch of c_int to Result<(), Errno>. 2024-09-26 16:21:34 +02:00
4lDO2 fed49a29af Properly deallocate thread stack on pthread_exit. 2024-09-24 19:34:53 +02:00
Kamil Koczurek 408a7b2ab6 Add capability to set the default scheme 2024-09-23 14:36:45 +00:00
4lDO2 7e38bb1476 Fix Linux compilation. 2024-09-21 13:42:43 +02:00
Jeremy Soller 1ac8c4834b Format 2024-09-19 16:09:11 -06:00
Jeremy Soller 1b7d059707 Add getrusage 2024-09-19 16:08:54 -06:00
4lDO2 c0e7af5289 Backwards-compatibly rewrite getdents to use special syscall. 2024-09-11 23:32:19 +02:00
4lDO2 198caa3bc5 Rustify Sys::open and some fs:: error handling. 2024-09-11 23:22:32 +02:00
4lDO2 4bd0d2a1ef Move pthread::Errno to separate module. 2024-09-11 23:22:29 +02:00
4lDO2 bf26de70e2 Add setresuid/setresgid (suid/sgid stub on Redox). 2024-07-18 23:54:46 +02:00
4lDO2 4c20a9abb2 Enable syscall restart in futex_wait. 2024-07-16 11:55:06 +02:00
4lDO2 4c11b607de Implement pread and pwrite using the syscalls. 2024-06-14 14:10:47 +02:00
Jacob Lorentzon 1fba2ef10a Various futex fixes 2024-04-05 20:31:06 +00:00
Peter Limkilde Svendsen a7137512fa Use standard casing and mangling for internal errno 2024-03-01 00:25:42 +00:00
Peter Limkilde Svendsen 9093f6bc47 Use Cell representation for errno 2024-02-29 14:07:40 +00:00
Jeremy Soller 6b88ad6271 Merge branch 'inline-core-io' into 'master'
Refactor: inline `core_io`

Closes #175

See merge request redox-os/relibc!441
2024-01-03 19:19:58 +00:00
Abdullah Emad 0caf011122 Implement mknod and mknodat 2024-01-03 16:43:28 +00:00
Arthur Paulino d4eddbf42e Refactor: inline core_io
* Extract the minimal set of definitions from `core_io` to `relibc` itself

* Remove dependency on `core_io`
2023-12-24 17:06:27 -03:00
Darley Barreto ce1e31d567 Replace C dlmalloc 2023-12-12 15:04:17 +00:00
4lDO2 75d1c67ca2 Switch to a lightweight CStr wrapper 2023-11-04 18:29:38 +00:00
4lDO2 966c59ca0c Make escalated communication pathless using sendfd. 2023-10-19 17:17:18 +02:00
4lDO2 16b5837d31 Fix Linux compilation error. 2023-10-12 20:10:40 +02:00
Jeremy Soller afdc26f9cc Add getgroups/setgroups (stub on redox) 2023-09-13 11:16:59 -06:00
4lDO2 cdd0f67b23 Rustfmt. 2023-05-17 15:28:10 +02:00
David Carlier bae8bb68df lockf implementation proposal 2023-05-16 23:40:40 +01:00
Jeremy Soller 848fde933b Merge branch 'remove_pthreads_emb' into 'master'
Replace pthreads-emb with a native implementation

See merge request redox-os/relibc!380
2023-05-11 13:56:11 +00:00
David Carlier 2db85f9a3f clock_getres/clock_settime additions 2023-05-08 18:52:05 +01:00
4lDO2 7bcfa9cfd9 Fix Linux. 2023-05-06 17:02:53 +02:00
4lDO2 6a658bc33d Add needed functions for acid to link. 2023-05-06 17:02:51 +02:00
4lDO2 2593101ea7 Get it to compile 2023-05-06 17:02:50 +02:00
David Carlier 5041df0015 setsid implementation 2023-05-04 19:09:32 +01:00
Jeremy Soller 8a002ecc1d Merge branch 'sync_impl' into 'master'
sync implementation

See merge request redox-os/relibc!375
2023-04-26 18:24:48 +00:00
David Carlier a561e682a3 sync implementation 2023-04-22 13:20:18 +01:00
David Carlier 3456b4f30e unistd: fdatasync implementation. 2023-04-19 21:48:54 +01:00
Jeremy Soller 1df8a14e6d Merge branch 'getsetpriority_impl' into 'master'
sys_resource: get/setpriority implementations.

See merge request redox-os/relibc!369
2023-04-17 14:35:36 +00:00
David Carlier 116583cdc7 sys_mman: adding madvise. 2023-04-15 10:41:42 +01:00
David Carlier 7f36abc33c sys_resource: get/setpriority implementations. 2023-04-15 07:16:25 +01:00
Ron Williams b0fe3ab095 fix typo in linux setrlimit 2023-04-14 15:21:15 -07:00
David Carlier f5ee873961 sys_resource: setrlimit implementation proposal. 2023-04-13 20:59:52 +01:00
Jeremy Soller b30c33adc3 Add getsid stub 2022-10-17 11:37:58 -06:00
Jeremy Soller dc865148fc Get Linux to compile again 2022-07-27 10:10:41 -06:00
Jeremy Soller 8576b99759 Add timeout to futex_wait calls 2022-04-04 20:23:29 -06:00