c - Two processes write to a shared memory -
i have resolve problem 2 producer , 1 consument semaphores , shared memory in c, linux. have 3 processes : first process producer, sec process producer, , 3rd process consument.
producers reading own files , write in 1 buffer. consument has read buffer , write in stdout.
my problem is: how in sec producer writing buffer on proper position? show code maybe: first producer:
while( fgets(line, sizeof(line),fp) ){ wait(semid,0); for(i=0;i<1000 && line[i]!='\0';i++){ buf[i]=line[i]; } signal(semid,1); } fclose (fp); // close file signal(semid,1); second producer same(except semaphores)... how write in buffer @ proper position(after first producer)?...
consumer:
while(1){ wait(semid,2); printf("\n proces k: "); (i=0; i<1000 && buf[i]!='\n'; i++){ printf("%c", buf[i]); } signal(semid,0);
i used struct shared memory, have array , counter.
it best way resolve problem think. programme works good. comments.
c memory process shared
No comments:
Post a Comment