- suporte a fork(): duplicar todos os LWPs ou apenas o que fez
fork()?
- Melhor para exec(). problemas com bib. que tenham seus
próprios LWPs (as suas estruturas de dados não vão ter LWPs).
- LWPs bloqueados? Possível LWP retornar EINTR, mas tem
que se ter cuidado com fechar ligações de rede. Cuidado com
estruturas de dados externas.
Registrar fork handler que são executados antes e depois de
fork().
- Vários LWPs podem aceder ao mesmo fd (um lê, outro faz
fseek). Soluções: aplicação resolve o problema, ou kernel suporta random
IO atómico.
Gestão de cwd, credenciais, e mapa de memória (brk() ao
mesmo tempo).
- Quem recebe sinais? Todos os LWPs (Z), um arbitráriamente, um master,
heuristicas, novo LWP.
Sinais como SIGSEGV devem interromper LWP responsavel. SIGINT é
complicado.
Signal Handler geral ou privado? Signal masks devem ser privados.
- Visibilidade fora do processo? Dentro do processo (signal entre LWP)?
- Gestão das pilhas: o kernel não pode saber.