Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-05-2007, 16:33   #1
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
[Linux] fork e pthreads

se in un processo girano molti pthreads e il thread primario chiama la fork, nel processo figlio ovviamente ci sarà un solo thread, giusto? e se la fork la chiamo da un thread diverso da quello primario che succede nel nuovo processo? l'unico thread del nuovo processo continua l'esecuzione nel contesto del pthread che ha chiamato la fork?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2007, 08:40   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sinceramente non ho mai provato, ma a rigor di logica dovrebbe continuare l'esecuzione con il contesto del thread che l'ha chiamato...altrimenti con quale contesto dovrebbe essere inizializzata l'immagine del nuovo processo ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2007, 11:09   #3
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da 71104 Guarda i messaggi
se in un processo girano molti pthreads e il thread primario chiama la fork, nel processo figlio ovviamente ci sarà un solo thread, giusto?
Giusto
Quote:
e se la fork la chiamo da un thread diverso da quello primario che succede nel nuovo processo? l'unico thread del nuovo processo continua l'esecuzione nel contesto del pthread che ha chiamato la fork?
No in un nuovo contesto (nuovo pid, nuova tabella di pagine ecc.)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2007, 17:47   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
No in un nuovo contesto (nuovo pid, nuova tabella di pagine ecc.)
Anche io intendevo questo...cioè che il contesto del thread chiamante inizializza l'immagine del nuovo processo...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2007, 14:17   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da ilsensine Guarda i messaggi
No in un nuovo contesto (nuovo pid, nuova tabella di pagine ecc.)
si, quello che intendevo era: il PCB viene rinnovato e di fatto il contesto è quello di un altro processo, ma l'esecuzione continua da dove era arrivato quel thread (che non era il primario).

una cosa ovvia insomma
solo che non ne ero sicuro perché non l'avevo visto specificato da nessuna parte nel man (poi magari so ciecato io però su MSDN le cose le trovo tanto facilmente )
71104 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:01.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v