Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. // Parent
  2. else
  3. {
  4.  
  5.  
  6. int eStatus = 0;
  7. int piStatus = 0;
  8.  
  9. //Booleans for while loop
  10. bool eCalcDone = false;
  11. bool piCalcDone = false;
  12.  
  13. // Close writing when reading
  14. close(piFd[1]);
  15. close(eFd[1]);
  16.  
  17. // open files
  18. e.open("e.dat");
  19. pi.open("pi.dat");
  20.  
  21.  
  22. while(!eCalcDone || !piCalcDone)
  23. {
  24. std::cout << "Parent" << std::endl;
  25.  
  26.  
  27.  
  28. if(poll(polles,2,1000) == 0 )
  29. {
  30. std::cout << "Timed out!" << std::endl;
  31. }
  32.  
  33. else
  34. {
  35. char eBuf[1];
  36. char piBuf[1];
  37. int eValues, piValues = 0;
  38.  
  39. if(!eCalcDone)
  40. eValues = read(eFd[0],eBuf,1 );
  41. if(!piCalcDone)
  42. piValues = read(piFd[0],piBuf,1 );
  43.  
  44. std::cout << "eValues = " << eValues << std::endl;
  45. std::cout << "piValues = " << piValues << std::endl;
  46.  
  47.  
  48.  
  49. if(eValues == 0)
  50. {
  51. eCalcDone = true;
  52. close(eFd[0]);
  53.  
  54. }
  55. else if(eValues != -1)
  56. {
  57. if(e.is_open())
  58. e << eBuf;
  59. }
  60.  
  61.  
  62. if(piValues == 0)
  63. {
  64. piCalcDone = true;
  65. close(piFd[0]);
  66. }
  67. else if(piValues != -1)
  68. {
  69. if(pi.is_open())
  70. pi << piBuf;
  71.  
  72. }
  73.  
  74.  
  75.  
  76.  
  77. }
  78.  
  79.  
  80. }
  81.  
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement