[so] Forking Multithreaded Programs?
Laurențiu Dascălu
dascalu.laurentziu at gmail.com
Tue Nov 10 18:55:10 EET 2009
Stefan Bucur a scris:
> Salutari!
>
> Am primit azi o intrebare de la cineva, la care n-am reusit sa
> raspund. Am cautat si pe internet, insa n-am gasit nici un raspuns
> relevant.
>
> Cum poti face fork la un program multi-threaded, in sensul ca sa
> copiezi toate thread-urile in noul proces? Din specificatiile POSIX,
> fork() nu copiaza decat thread-ul apelant, lucru care este un pic
> ciudat, avand in vedere ca celelalte thread-uri isi tin stiva in
> spatiul de adresa al procesului si practic ar putea fi copiate si ele,
> la randul lor.
>
> Any thoughts on this?
Cred că merge dacă toate thread-urile din părinte se înregistrează cu
pthread_atfork(), pentru a executa cod înainte și după fork(), și în
copil refaci firele.
--
Laurențiu Dascălu
More information about the so
mailing list