Skip to main content

set_tid_address

Function set_tid_address 

Source
pub unsafe fn set_tid_address(clear_child_tid: Option<&AtomicU32>) -> Tid
Expand description

Enregistre l’adresse clear_child_tid du thread appelant et retourne son TID (set_tid_address(2)). À la fin du thread, le kernel écrit 0 à cette adresse et émet un FUTEX_WAKE dessus — primitif de join (cf. clone_thread et la famille futex).

None désenregistre (passe NULL). L’appel ne peut pas échouer et rend toujours le TID appelant (> 0).

§Safety

Si clear_child_tid est Some(addr), le kernel conservera addr et y écrira à la terminaison du thread. L’appelant doit garantir que la mémoire pointée reste valide jusqu’à la fin du thread (sinon écriture kernel dans de la mémoire libérée). Même discipline que [CloneArgs::child_tid].