emscripten-core/emscripten

fread returns garbage when pipe is closed

Offen

#13.645 geöffnet am 12.03.2021

 (3 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)C++ (3.519 Forks)batch import
help wantedwontfix

Repository-Metriken

Stars
 (27.361 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 19T 10h) (147 gemergte PRs in 30 T)

Beschreibung

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.<anonymous> (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