emscripten-core / emscripten-core/emscripten

fread returns garbage when pipe is closed

Open
#13,645 3 comments 0 reactions 0 assignees View on GitHub
help wanted wontfix
Dominant language
C++
Stars
27.6k
Forks
3.6k
Avg merge
1d 1h
Merged PRs (30d)
105

Description

On Windows, when content provided on the stdin pipe is read and pipe is closed, the following code throws with errno equal to `undefined` and `fread` keeps returning data instead of indicating EOF.

https://github.com/emscripten-core/emscripten/blob/0589ed2211831fe74c5b340de544b3d5d9fe5388/src/library_syscall.js#L150

```
ErrnoError
at Object.ensureErrnoError (C:\***\a.out.js:11068:35)
at Object.staticInit (C:\***\a.out.js:11076:12)
at Object. (C:\***\a.out.js:12037:6)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47 {
node: undefined,
setErrno: [Function],
errno: undefined,
message: 'FS error'
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.