mirror of
				https://git.proxmox.com/git/pve-http-server
				synced 2025-10-31 12:39:30 +00:00 
			
		
		
		
	anyevent: move unlink from http-server to endpoint
any uploaded file has to be deleted by the corrosponding endpoint. the file upload was only used by the 'upload to storage' feature in pve. this change allows the endpoint to delete the file itself, making the old and racey`sleep 1` (waiting until the worker has opened the file) obsolete. this change breaks all pve-manager versions, in which the worker does not unlink the temp file itself. Signed-off-by: Lorenz Stechauner <l.stechauner@proxmox.com>
This commit is contained in:
		
							parent
							
								
									28a4b9a424
								
							
						
					
					
						commit
						7fb356b79e
					
				| @ -114,7 +114,7 @@ sub log_aborted_request { | ||||
| } | ||||
| 
 | ||||
| sub cleanup_reqstate { | ||||
|     my ($reqstate) = @_; | ||||
|     my ($reqstate, $deletetmpfile) = @_; | ||||
| 
 | ||||
|     delete $reqstate->{log}; | ||||
|     delete $reqstate->{request}; | ||||
| @ -123,7 +123,7 @@ sub cleanup_reqstate { | ||||
|     delete $reqstate->{starttime}; | ||||
| 
 | ||||
|     if ($reqstate->{tmpfilename}) { | ||||
| 	unlink $reqstate->{tmpfilename}; | ||||
| 	unlink $reqstate->{tmpfilename} if $deletetmpfile; | ||||
| 	delete $reqstate->{tmpfilename}; | ||||
|     } | ||||
| } | ||||
| @ -131,7 +131,7 @@ sub cleanup_reqstate { | ||||
| sub client_do_disconnect { | ||||
|     my ($self, $reqstate) = @_; | ||||
| 
 | ||||
|     cleanup_reqstate($reqstate); | ||||
|     cleanup_reqstate($reqstate, 1); | ||||
| 
 | ||||
|     my $shutdown_hdl = sub { | ||||
| 	my $hdl = shift; | ||||
| @ -168,7 +168,7 @@ sub client_do_disconnect { | ||||
| sub finish_response { | ||||
|     my ($self, $reqstate) = @_; | ||||
| 
 | ||||
|     cleanup_reqstate($reqstate); | ||||
|     cleanup_reqstate($reqstate, 0); | ||||
| 
 | ||||
|     my $hdl = $reqstate->{hdl}; | ||||
|     return if !$hdl; # already disconnected | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Lorenz Stechauner
						Lorenz Stechauner