Skip to content

Plan 9のpidは再利用されない

Plan 9では、pidint または ulong として定義されている。32bitまたは64bitどちらの場合でも int32max まで増加する。

実装をみると、新規 pid の発行はグローバルなカウンタをincrefしているだけなので pid の再利用は起こらない。pid が上限を越えた場合はカーネルパニックする。

p->pid = incref(&pidalloc);
pidhash(p);
p->noteid = incref(&noteidalloc);
if(p->pid==0 || p->noteid==0)
panic("pidalloc");