]> OCCT Git - occt-wok.git/commitdiff
Delete temporary files created by Wok during compilation
authorcas <cas@opencascade.com>
Mon, 12 Nov 2001 18:01:24 +0000 (18:01 +0000)
committercas <cas@opencascade.com>
Mon, 12 Nov 2001 18:01:24 +0000 (18:01 +0000)
src/WOKUnix/WOKUnix_FDescr.cdl
src/WOKUnix/WOKUnix_FDescr.cxx
src/WOKUnix/WOKUnix_ShellStatus.cdl
src/WOKUnix/WOKUnix_ShellStatus.cxx

index cd15a24da76e441e4bcb3b156a307f68320cba16..757e2e2070517af2beee8c4682976b97502de48e 100755 (executable)
@@ -23,7 +23,7 @@ is
 
     BuildTemporary(me: in out);
     BuildTemporary(me: in out ; apath : AsciiString from TCollection);    
-    BuildNamedPipe(me: in out);
+    BuildNamedPipe(me: in out) returns FDescr from WOKUnix;
     
     GetNbToRead(me : in out) returns Integer from Standard;
     SetUnBuffered(me : in out);
index bb0aed4da75131f1f006badfe9f878d8c01c748a..39f5421fef63d6142c5f0ee79f94510ae9a411ef 100755 (executable)
@@ -187,7 +187,8 @@ void WOKUnix_FDescr::BuildTemporary(const TCollection_AsciiString & apath)
 //function : BuildNamedPipe
 //purpose  : 
 //=======================================================================
-void WOKUnix_FDescr::BuildNamedPipe()  
+
+WOKUnix_FDescr WOKUnix_FDescr::BuildNamedPipe()  
 {
   TCollection_AsciiString apath;
   WOKUnix_FDescr         writeend;
@@ -205,7 +206,8 @@ void WOKUnix_FDescr::BuildNamedPipe()
   writeend.SetPath(OSD_Path(Name()->String()));
   writeend.Open(OSD_WriteOnly, OSD_Protection());
   writeend.SetUnBuffered();
-  
+
+  return writeend ;
 }
 
 //=======================================================================
index 4e7f3cfba1e510525ce38a287c4971bb76591bce..334ef16a856a5b03dfd4d84b8d54a181cd4078ce 100755 (executable)
@@ -47,6 +47,7 @@ is
 fields
     mystatus : Integer is protected;
     myfile   : FDescr from WOKUnix;
+    myfileend: FDescr from WOKUnix;
     
 end ShellStatus;
 
index ffe16961191380b3bfec6d1bce49596ac5139234..8c4fa0af1079e68376cdccc028bdf10f9373c5c9 100755 (executable)
@@ -11,7 +11,8 @@
 //=======================================================================
  WOKUnix_ShellStatus::WOKUnix_ShellStatus()
 {
-  myfile.BuildNamedPipe();
+//JR  myfile.BuildNamedPipe();
+  myfileend = myfile.BuildNamedPipe();
 }
 
 //=======================================================================
@@ -71,7 +72,7 @@ Standard_Integer WOKUnix_ShellStatus::Get()
   Standard_Integer nbtoread = myfile.GetNbToRead();
   if(nbtoread == 0) 
     {
-      Standard_ProgramError::Raise("ShellStatus::Get : Nothing to read on status pipe\n");
+      Standard_ProgramError::Raise("WOKUnix_ShellStatus::Get : Nothing to read on status pipe\n");
       return 1;
     }
 
@@ -81,7 +82,7 @@ Standard_Integer WOKUnix_ShellStatus::Get()
   if(nbtoread != buf.Length())
     {
       perror(Name()->ToCString());
-      Standard_ProgramError::Raise("ShellStatus::Get : Could not read from status pipe\n");
+      Standard_ProgramError::Raise("WOKUnix_ShellStatus::Get : Could not read from status pipe\n");
       return 1;
     }
   buf.Trunc(nbtoread);
@@ -100,7 +101,7 @@ Standard_Integer WOKUnix_ShellStatus::GetRemote()
   Standard_Integer nbtoread = myfile.GetSize();
   if(nbtoread == 0) 
     {
-      Standard_ProgramError::Raise("ShellStatus::GetRemote : Nothing to read on status file\n");
+      Standard_ProgramError::Raise("WOKUnix_ShellStatus::GetRemote : Nothing to read on status file\n");
       return 1;
     }
 
@@ -110,7 +111,7 @@ Standard_Integer WOKUnix_ShellStatus::GetRemote()
   if(nbtoread != buf.Length())
     {
       perror(Name()->ToCString());
-      Standard_ProgramError::Raise("ShellStatus::GetRemote : Could not read from status file\n");
+      Standard_ProgramError::Raise("WOKUnix_ShellStatus::GetRemote : Could not read from status file\n");
       return 1;
     }
   buf.Trunc(nbtoread);
@@ -125,7 +126,15 @@ Standard_Integer WOKUnix_ShellStatus::GetRemote()
 //=======================================================================
 void WOKUnix_ShellStatus::Destroy()
 {
+  if ( myfile.FileNo() >= 0 ) {
+    myfile.Close();
+  }
+  if ( myfileend.FileNo() >= 0 ) {
+    myfileend.Close();
+  }
+
   myfile.Remove();
+  myfileend.Remove();
 }