Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Parent
- else
- {
- int eStatus = 0;
- int piStatus = 0;
- //Booleans for while loop
- bool eCalcDone = false;
- bool piCalcDone = false;
- // Close writing when reading
- close(piFd[1]);
- close(eFd[1]);
- // open files
- e.open("e.dat");
- pi.open("pi.dat");
- while(!eCalcDone || !piCalcDone)
- {
- std::cout << "Parent" << std::endl;
- if(poll(polles,2,1000) == 0 )
- {
- std::cout << "Timed out!" << std::endl;
- }
- else
- {
- char eBuf[1];
- char piBuf[1];
- int eValues, piValues = 0;
- if(!eCalcDone)
- eValues = read(eFd[0],eBuf,1 );
- if(!piCalcDone)
- piValues = read(piFd[0],piBuf,1 );
- std::cout << "eValues = " << eValues << std::endl;
- std::cout << "piValues = " << piValues << std::endl;
- if(eValues == 0)
- {
- eCalcDone = true;
- close(eFd[0]);
- }
- else if(eValues != -1)
- {
- if(e.is_open())
- e << eBuf;
- }
- if(piValues == 0)
- {
- piCalcDone = true;
- close(piFd[0]);
- }
- else if(piValues != -1)
- {
- if(pi.is_open())
- pi << piBuf;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement