emscripten-core/emscripten

fread returns garbage when pipe is closed

Open

#13,645 opened on 2021年3月12日

GitHub で見る
 (3 comments) (0 reactions) (0 assignees)C++ (3,519 forks)batch import
help wantedwontfix

Repository metrics

Stars
 (27,361 stars)
PR merge metrics
 (平均マージ 19d 10h) (30d で 147 merged PRs)

説明

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'

コントリビューターガイド