Skip to content

Commit 31e4769

Browse files
Make torchvision.io.read_image{,_async} and torchvision.io.read_async allow subsequent opening of the file for reading (#1495)
* Fix torchvision.io.read_image{,_async}. Addressed to #1494. * Update src/TorchVision/IO/Image.cs. + Fix torchvision.io.read_image{,_async}. - Allow subsequent opening of the file for reading. * Fix torchvision.io.read_file_async. * Update src/TorchVision/File.cs. + Fix torchvision.io.read_file_async. - Allow subsequent opening of the file for reading. --------- Co-authored-by: Masaru Kimura <masaru@hacarus.com>
1 parent 57764e9 commit 31e4769

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

src/TorchVision/File.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public static async Task<Tensor> read_file_async(string filename)
3333
{
3434
byte[] data;
3535

36-
using (FileStream stream = File.Open(filename, FileMode.Open)) {
36+
using (FileStream stream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read)) {
3737
data = new byte[stream.Length];
3838
await stream.ReadAsync(data, 0, data.Length);
3939
}

src/TorchVision/IO/Image.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ public enum ImageReadMode
136136
/// </returns>
137137
public static Tensor read_image(string filename, ImageReadMode mode = ImageReadMode.UNCHANGED, Imager imager = null)
138138
{
139-
using (FileStream stream = File.Open(filename, FileMode.Open))
139+
using (FileStream stream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
140140
return (imager ?? DefaultImager).DecodeImage(stream, mode);
141141
}
142142

@@ -167,7 +167,7 @@ public static Tensor read_image(Stream stream, ImageReadMode mode = ImageReadMod
167167
public static async Task<Tensor> read_image_async(string filename, ImageReadMode mode = ImageReadMode.UNCHANGED, Imager imager = null)
168168
{
169169

170-
using (FileStream stream = File.Open(filename, FileMode.Open))
170+
using (FileStream stream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
171171
return await (imager ?? DefaultImager).DecodeImageAsync(stream, mode);
172172
}
173173

0 commit comments

Comments
 (0)