X-Git-Url: https://git.dlugolecki.net.pl/?a=blobdiff_plain;ds=sidebyside;f=src%2Fprocess2.c;h=b6dff4b8d2fa0703405cf9ee49e97793ee01d5e3;hb=51faabd1c82aa37c43f6521ae17c47ce62272754;hp=07a24222f6fac9fe9255c5ceed9f9c218892e76a;hpb=05e20db49d95955f0f00f546a7d02e4df023b805;p=wsti_so.git diff --git a/src/process2.c b/src/process2.c index 07a2422..b6dff4b 100644 --- a/src/process2.c +++ b/src/process2.c @@ -1,6 +1,4 @@ #include -#include -#include /* open/read/write/close */ #include @@ -19,12 +17,24 @@ int main(void) { /** Named pipe used to communicate with process3 */ char * write_pipe = "/tmp/process2pipe"; + /** Descriptor of input pipe */ int read_descriptor; + + /** Descriptor of output pipe */ int write_descriptor; - + + /** + * Buffer used for storing data from input pipe. + * Data is stored in chunks of BUFFER_STEP size. + * If data during reading is bigger than this value, then number of + * characters is saved, and buffer is cleared for reading another chunk. + */ char buffer[BUFFER_STEP]; - + + /** Index used when iterating buffer */ int i = 0; + + /** Stores number of bytes read from input pipe in current iteration */ ssize_t count = 0; /* Reading from process1 */ @@ -35,7 +45,9 @@ int main(void) { write_descriptor = open(write_pipe, O_WRONLY); int number_of_characters = 0; - + + fprintf(stderr, "[%s] Init!\n", "process2"); + while(1) { /* Read data from input pipe */ count = read(read_descriptor, buffer, BUFFER_STEP);