View Single Post
Old 22-07-2005, 16:16   #1
Gica78R
Senior Member
 
L'Avatar di Gica78R
 
Iscritto dal: Mar 2005
Messaggi: 1653
[C] Dichiarare variabili 'locali' ad un processo: corretto o no?

Ciao!

Ho un piccolo dubbio che riguarda il modo di dichiarare le variabili quando si fa un programma multiprocesso: e' corretto dichiarare delle variabili locali dopo una fork(), nel ramo del child-process, in modo che queste siano visibili solo all'interno di tale ramo, o le variabili vanno comunque dichiarate tutte all'inizio del programma (e quindi poi ciascun child-process ne fa l'uso che vuole con le sue copie locali)? Il mio scopo sarebbe quello di ridurre un po' la quantita' di memoria occupata, e quindi evitare di dichiarare un buffer di 1 KB nel parent-process (in cui non mi serve) che poi verrebbe duplicato dai suoi 20 figli...

Esempio:
Codice:
pid=fork();
if (pid!=0) // parent-process
{
 ...
}
else if (pid==0) // child-process
      {
       char buffer[1024];
       ...
       exit(0);
      }
Si puo?

Grazie,
Gica
__________________
gica78r@ncc-1701:~$ tar -c
tar: Codardamente mi rifiuto di creare un archivio vuoto
Gica78R è offline   Rispondi citando il messaggio o parte di esso