Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(){
- pid_t p[NFILHOS];
- int v[TAM], id,dados[NFILHOS][2],res[NFILHOS];
- init_vec(v);
- id=cria_filhos(p, NFILHOS); //cria 5 filhos (pai fica com o id=0)
- if(id>0){
- close(dados[(id-1)][0]);
- res[id-1]=sum(v,((TAM/NFILHOS)*(id-1)),((TAM/NFILHOS)*id));//retorna o resultado
- printf("O filho %d res=%d\n",id,res[id-1]);
- write(dados[(id-1)][1], &res[id-1],sizeof(int));
- close(dados[(id-1)][1]);
- exit(id);
- }else if(id==0){
- aceita_mfilhos(NFILHOS); //espera que os filhos morram
- int resfinal=0,i;
- for(i=0;i<NFILHOS;i++){
- close(dados[i][1]);
- read(dados[i][0],&res[i],sizeof(int));
- printf("res2=%d\n",res[i]);
- close(dados[i][0]);
- resfinal+=res[i];
- }
- printf("O resultado final é de %d\n",resfinal);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment