AutoDelete: Add default constructor with deletion disabled
This commit is contained in:
		
							parent
							
								
									4390142315
								
							
						
					
					
						commit
						58d2fac91d
					
				
					 3 changed files with 11 additions and 1 deletions
				
			
		|  | @ -2534,7 +2534,7 @@ void DerivationGoal::runChild() | |||
| 
 | ||||
|             Path sandboxFile = drvPath + ".sb"; | ||||
|             if (pathExists(sandboxFile)) deletePath(sandboxFile); | ||||
|             autoDelSandbox = AutoDelete(sandboxFile); | ||||
|             autoDelSandbox.reset(sandboxFile, false); | ||||
| 
 | ||||
|             writeFile(sandboxFile, sandboxProfile); | ||||
| 
 | ||||
|  |  | |||
|  | @ -599,6 +599,8 @@ string drainFD(int fd) | |||
| //////////////////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| 
 | ||||
| AutoDelete::AutoDelete() : del{false} {} | ||||
| 
 | ||||
| AutoDelete::AutoDelete(const string & p, bool recursive) : path(p) | ||||
| { | ||||
|     del = true; | ||||
|  | @ -626,6 +628,12 @@ void AutoDelete::cancel() | |||
|     del = false; | ||||
| } | ||||
| 
 | ||||
| void AutoDelete::reset(const Path & p, bool recursive = true) { | ||||
|     this-> p = p; | ||||
|     this->recursive = recursive; | ||||
|     del = true; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////
 | ||||
|  |  | |||
|  | @ -199,9 +199,11 @@ class AutoDelete | |||
|     bool del; | ||||
|     bool recursive; | ||||
| public: | ||||
|     AutoDelete(); | ||||
|     AutoDelete(const Path & p, bool recursive = true); | ||||
|     ~AutoDelete(); | ||||
|     void cancel(); | ||||
|     void reset(const Path & p, bool recursive = true); | ||||
|     operator Path() const { return path; } | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue