bytecodealliance / bytecodealliance/rustix

Pidfd enhancements

Aperta
#1,447 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement
Lingua principale
Rust
Stelle
2.1k
Fork
294
Merge medio
6g 22h
PR unite (30g)
4

Descrizione

- [x] rust-lang/libc#4402
- [ ] `PidfdFlags::THREAD = PIDFD_THREAD`
- [x] `pidfd_send_signal` (#992) is in `rustix::not_implemented::yet` and `rustix::process` (#1448)
- [ ] `PIDFD_SIGNAL_THREAD`, `PIDFD_SIGNAL_THREAD_GROUP` and `PIDFD_SIGNAL_PROCESS_GROUP`.
- Because the `rustix::process::pidfd_send_signal` interface does not expose an (empty) flags argument and adding one would be a breaking change, I suggest to deprecated `rustix::process::pidfd_send_signal` and add `rustix::process::pidfd_send_signal_{thread,thread_group,process_group}` variants. This time with an empty flags for the future.
- On the other hand this could require downstream code to switch between these variants to maybe a `rustix::process::pidfd_send_signal_with_flags` (name tbd) is also a thing.
- `pidfd_send_signal_to`
- [ ] `PIDFD_SELF` and `PIDFD_SELF_PROCESS` descriptors implemented in `rustix::process` like `rustix::fs::CWD` is implemented.
- [ ] `PIDFD_GET_*_NAMESPACE` ioctls. Either as one function with an non-exhaustive enum argument or as separated for functions for each ioctl.
- [ ] `PIDFD_GET_INFO` ioctl, `pidfd_info` struct, `PIDFD_INFO_*` bitflags
- [ ] `PIDFD_INFO_EXIT`

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Esamina il lavoro esistente su pidfd in rustix::not_implemented::yet e rustix::process e confronta la sua interfaccia con rustix::fs::CWD. Risolvi le scelte API elencate per i flag dei segnali, i descrittori di sé stessi, gli ioctl di namespace e PIDFD_GET_INFO prima di implementare gli elementi rimanenti non selezionati e aggiungere una copertura adeguata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
linux, rust
Ambito
operating-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.