emscripten-core/emscripten

fread returns garbage when pipe is closed

開放

#13,645 建立於 2021年3月12日

 (3 則留言) (0 個反應) (0 位負責人)C++ (3,519 個分叉)batch import
help wantedwontfix

倉庫指標

星標
 (27,361 顆星)
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'

貢獻者指南