ood evening people. I\'ve been working on this code that sends a burst on the client side as well as the private fifo name over a struct, to a server which will process several clients and the burst time that will be sent back to the client through the private fifo. The issue is that once I enter the burst on the client side, it won\'t send the proper burst to the server, which in turn it will read the private fifo name but not the burst, since there is no burst (and the server has a set burst entered by the user), the actual burst will become a giantnumber. I\'m attaching my code hoping than maybe another pair of eyes can see where I am getting my mistake and help me to correct it. Thanks client: my input for the client: server: the input and outcome from the server: at this point I canceled the program with a ctrl + C to cancel the recurring burst in reversive count. Again any help or suggestion is well received. Thanks Solution client: #include #include #include #include #include #include #include #include typedef struct values { char name[30]; int arrivalTime; int burst; //used for both the initial size of the process and to send the completion time } Process; /*Datatype of the elements in the queue*/ int main( int argc, char *argv[] ){ Process process; int fdIN; //to write to character server int fdOUT; //to read from character server int clientID; clientID = getpid(); sprintf(process.name, \"FIFO_%d\", clientID); printf(\"\ FIFO name is %s \", process.name); if((mkfifo(process.name, 0666)<0 && errno != EEXIST)) { perror(\"Can\'t create private FIFO\ \"); exit(-1); } printf(\"\ Enter burst: \ \") scanf(\"%d\", &process.burst); if((fdIN=open(\"commFIFO\", O_WRONLY))<0) //writting into fifo printf(\"cant open fifo to write\"); write(fdIN, &process, sizeof(process)); if((fdOUT=open(process.name, O_RDONLY))<0) //reading from fifo printf(\"cant open fifo to read\"); read(fdOUT, &process, sizeof(process)); printf(\"\ arrival time: %d \ \", process.arrivalTime); unlink (\"commFIFO\"); unlink (process.name); close(fdIN); close(fdOUT); } SERVER: #include #include #include #include #include #include #include #include //Inbox/Outbox structure typedef struct values { char name[30]; int arrivalTime; int burst; //used for both the initial size of the process and to send the completion time } Process; //Node definition typedef struct node{ /*Nodes stored in the linked list*/ struct values request; struct node *next; } Node; //Queue Definition typedef struct queue{ /*A struct facilitates passing a queue as an argument*/ Node *head; /*Pointer to the first node holding the queue\'s data*/ Node *tail; /*Pointer to the last node holding the queue\'s data*/ int sz; /*Number of nodes in the queue*/ } Queue; int size( Queue *Q ){ return Q->sz; } int isEmpty( Queue *Q ){ if( Q->sz == 0 ) return 1; return 0; } void enqueue( Queue *Q, struct values elem ){ Node *v = (Node*)malloc(sizeof(Node));/*Allocate memory for the Node*/ if( !v ){ printf(\"ERROR: Insufficien.