MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / setEntry

Method setEntry

system/lib/wasmfs/file_table.cpp:32–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30}
31
32std::shared_ptr<DataFile>
33FileTable::Handle::setEntry(__wasi_fd_t fd,
34 std::shared_ptr<OpenFileState> openFile) {
35 assert(fd >= 0);
36 assert(fd < WASMFS_FD_MAX);
37 if (fd >= fileTable.entries.size()) {
38 fileTable.entries.resize(fd + 1);
39 }
40 if (openFile) {
41 ++openFile->uses;
42 }
43 std::shared_ptr<DataFile> ret;
44 if (fileTable.entries[fd] && --fileTable.entries[fd]->uses == 0) {
45 ret = fileTable.entries[fd]->locked().getFile()->dynCast<DataFile>();
46 }
47 fileTable.entries[fd] = openFile;
48 return ret;
49}
50
51__wasi_fd_t
52FileTable::Handle::addEntry(std::shared_ptr<OpenFileState> openFileState) {

Callers 3

__syscall_dup3Function · 0.80
__wasi_fd_closeFunction · 0.80
__syscall_fcntl64Function · 0.80

Calls 5

sizeMethod · 0.65
resizeMethod · 0.65
assertFunction · 0.50
getFileMethod · 0.45
lockedMethod · 0.45

Tested by

no test coverage detected