Wildan M
f40b84a5cc
Add lock token to FileDescription, without borrow check
2026-03-09 11:23:51 +07:00
auronandace
14b8c2b0c1
enforce two lints and collapse some ifs
2026-03-03 14:51:32 +00:00
Wildan M
437f762339
Prevent drop on WaitCondition
2026-02-27 12:34:13 +07:00
Wildan M
14349d1649
Propagate ordered lock of event trigger
2026-02-25 11:42:31 +07:00
bjorn3
7ff1898765
Fix a couple of warnings
2026-02-06 20:54:42 +01:00
Ibuki Omatsu
5ac00f5533
Remove namespace management from the kernel.
2026-01-20 20:43:34 -07:00
Jeremy Soller
e14f935063
Ensure pipe is_alive is set before triggering event or condition
2025-11-14 20:59:44 -07:00
Jeremy Soller
cbea1aca3d
Implement kfpath on more schemes
2025-11-14 11:36:49 -07:00
Jeremy Soller
5dc6f7c3ba
lock ordering
2025-09-22 07:48:48 -06:00
bjorn3
da6f7adb42
Use HashMap rather than BTreeMap for scheme handles
...
According to the comments this previously wasn't done due to hashbrown
not having a const constructor. While it is true that HashMap::new() is
not const, HashMap::with_hasher() is const. HashMap::new() becoming
const is likely blocked on const traits.
This shrinks the kernel image by about 35kb.
2025-09-13 12:00:37 +02:00
Darley Barreto
66ea2b46ee
Adding openat syscall
2025-07-13 06:43:20 -06:00
4lDO2
960e79b107
Treat broken pipes as IO-capable in fevent.
2024-09-19 10:41:40 +02:00
4lDO2
005635083d
Fix thread cleanup during active file ops.
...
This fixes a bug where the window of `viewer` does not exit, due to a
leaked file descriptor.
2024-07-20 22:14:54 +02:00
4lDO2
29170ccbc7
Fix sigchld test.
2024-07-18 19:38:47 +02:00
4lDO2
d94baa2712
Run rustfmt.
2024-07-15 17:50:18 +02:00
4lDO2
5e7db80285
Fix a bunch of warnings.
2024-07-15 17:48:45 +02:00
Jacob Lorentzon
bf0fc66ac1
Improved scheme protocol.
2024-06-14 11:31:51 +00:00
4lDO2
68e072aac9
Return correct fevent flags in PipeScheme.
...
This fixes a Cargo deadlock.
2024-04-02 15:04:39 +02:00
Jeremy Soller
45f1c4e29e
Add rustfmt from relibc and apply it with cargo fmt
2024-01-17 13:52:01 -07:00
Jeremy Soller
73897bd83d
scheme/pipe: allow removing fevent
2024-01-08 16:59:48 -07:00
bjorn3
2d065083df
Use HashMap instead of BTreeMap where possible
...
This shrinks the kernel from 905840 bytes to 862408 bytes.
2023-12-13 19:55:20 +01:00
4lDO2
10e86ea89d
Hardcode global scheme IDs.
2023-12-13 11:08:11 +01:00
4lDO2
679c26c03b
s/Arc<dyn KernelScheme>/enum, but deref as dyn.
2023-12-13 11:08:07 +01:00
4lDO2
036a4bdee4
Replace syscall::Scheme with KernelScheme.
2023-11-15 20:00:47 +01:00
4lDO2
56f88e80c2
Usercopy migration
2023-07-06 13:03:21 +00:00
4lDO2
5abf16a51e
Improved pipe scheme.
2023-06-26 13:54:13 +02:00
Jeremy Soller
8e0f54cb31
Clippy fixes
2022-11-11 13:19:14 -07:00
4lDO2
6589083238
Partial: Migrate schemes to RMM.
2022-07-27 10:52:23 +02:00
4lDO2
de28cc4918
Add a Scheme supertrait for kernel-only methods.
2022-07-27 10:51:45 +02:00
4lDO2
e92ff831b7
Move more of pipe:s init to compile time.
2021-07-05 11:54:11 +02:00
Graham MacDonald
01f95b644d
change seek sig to match posix - signed pos and result
2020-06-19 23:31:55 +01:00
Jeremy Soller
fdf46d8043
Fix multi_core livelocks and add livelock debugging
2020-04-19 08:46:50 -06:00
Jeremy Soller
63e2a835e0
Fix clippy.sh script and fix a number of clippy warnings
2019-10-06 11:04:06 -06:00
jD91mZM2
538ca49ee2
Suggestion: Switch to bitflags
2019-07-26 12:23:21 +02:00
jD91mZM2
fe705d9b63
Switch to 2018 edition
...
Most of this was generated by the absolutely extraordinary `cargo fix`
subcommand. There were still 2 errors and a few warnings to patch up,
but compared to the normal 600+ errors, I'd say the fixer did a damn
good job! I'm also amazed that I could still start the VM after this,
I half expected some kinds of runtime failure...
2019-06-21 12:12:01 +02:00
Jeremy Soller
fcd8ce7e1b
Fix event logic for pipes
2019-04-28 13:32:24 -06:00
Jeremy Soller
f042bd5d07
Update for new rust
2019-04-07 10:57:33 -06:00
Jeremy Soller
e2a6233c12
New fevent functionality to prevent missing events
2019-03-13 13:57:07 -06:00
Jeremy Soller
5b31bf57be
Update to latest rust
2018-11-08 17:25:57 -07:00
Jeremy Soller
15313f98af
Remove unnecessary dup implementations
2018-10-20 08:08:31 -06:00
Jeremy Soller
99a3bff2da
WIP: New event system
2018-05-20 11:08:37 -06:00
Jeremy Soller
63351f4ca6
Fix documentation in pipe scheme
2018-05-20 07:18:13 -06:00
Jeremy Soller
ed05564011
Remove SwitchResult, use out of band data to detect interruption
...
Update debugging code
2017-11-14 21:16:35 -07:00
Tibor Nagy
e6b9f850d1
Migrate from collections
2017-10-28 02:42:08 +02:00
Jeremy Soller
8ec5d4726b
Hack to allow rustc to wait on non-child process.
...
Add sys:syscall for seeing active system calls
2017-10-22 21:13:29 -06:00
Jeremy Soller
51339cb8c9
Cleanup warnings
...
Implement interrupt on signal in pipe:
2017-10-21 20:30:20 -06:00
Jeremy Soller
6e8de21b7c
Implement events on pipe
...
Add syscall name debugging
Update debugging code
2017-09-16 12:04:20 -06:00
Ian Douglas Scott
2eab3ea6b0
Use fifo flag for pipe
2017-08-02 11:13:44 -07:00
Jeremy Soller
6a061665e4
Use EINVAL instead of ENOENT
2017-07-22 13:21:15 -06:00
Jeremy Soller
fc914e0cae
Make it an error to supply a dup buffer to schemes that do not handle it
2017-07-22 12:54:28 -06:00