emscripten-core/emscripten

fread returns garbage when pipe is closed

Open

#13,645 创建于 2021年3月12日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)C++ (3,519 fork)batch import
help wantedwontfix

仓库指标

Star
 (27,361 star)
PR 合并指标
 (平均合并 19天 10小时) (30 天内合并 147 个 PR)

描述

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'

贡献者指南