Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

[release/3.1] Single-File: Close AppHost stream when reusing extraction#9010

Merged
Anipik merged 1 commit intodotnet:release/3.1from
swaroop-sridhar:close
Mar 25, 2020
Merged

[release/3.1] Single-File: Close AppHost stream when reusing extraction#9010
Anipik merged 1 commit intodotnet:release/3.1from
swaroop-sridhar:close

Conversation

@swaroop-sridhar
Copy link

@swaroop-sridhar swaroop-sridhar commented Feb 28, 2020

Issue

dotnet/runtime#1260

Customer Scenario

A single-file app cannot be renamed while running -- an idiom used while updating the app in-place.

Problem

When running a single-file app, the AppHost reads itself in order to extract the embedded contents.
The Apphost must always read its contents in order to read the headers, but doesn't always extract the contents, because previously extracted files are re-used when available.

In the case where apphost doesn't extract, currently, the file stream isn't immediately closed on Windows. This prevents the app from being renamed while running.

Solution

This change fixes the problem by closing the open stream in all cases.

Risk

Very Low

Master Branch

dotnet/runtime#2272

dotnet/runtime#1260

A single-file app cannot be renamed while running -- an idiom used while updating the app in-place.

When running a single-file app, the AppHost reads itself in order to extract the embedded contents.
The Apphost must always read its contents in order to read the headers, but doesn't always extract the contents, because previously extracted files are re-used when available.

In the case where apphost doesn't extract, currently, the file stream isn't immediately closed on Windows.
This prevents the app from being renamed while running.

This change fixes the problem by closing the open stream in all cases.

Very Low

dotnet/runtime#2272
@swaroop-sridhar swaroop-sridhar added the Servicing-consider Issue for next servicing release review label Feb 28, 2020
@jeffschwMSFT jeffschwMSFT added this to the 3.1.x milestone Mar 3, 2020
@leecow leecow added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Mar 3, 2020
@leecow leecow modified the milestones: 3.1.x, 3.1.4 Mar 3, 2020
@Anipik Anipik merged commit 8571087 into dotnet:release/3.1 Mar 25, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Host Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants