emscripten-core/emscripten

fread returns garbage when pipe is closed

Open

#13.645 aberto em 12 de mar. de 2021

Ver no GitHub
 (3 comments) (0 reactions) (0 assignees)C++ (3.519 forks)batch import
help wantedwontfix

Métricas do repositório

Stars
 (27.361 stars)
Métricas de merge de PR
 (Mesclagem média 19d 10h) (147 fundiu PRs em 30d)

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.<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'

Guia do colaborador