file: redo locking

This commit is contained in:
Matheus
2023-07-03 22:51:53 -03:00
parent b657874c4c
commit 032560bda0
11 changed files with 107 additions and 27 deletions
+3 -2
View File
@@ -26,12 +26,13 @@ syscallret_t syscall_write(context_t *context, int fd, void *buffer, size_t size
// TODO pass flags
size_t byteswritten;
ret.errno = vfs_write(file->vnode, kernelbuff, size, file->offset, &byteswritten, 0);
uintmax_t offset = file->offset;
ret.errno = vfs_write(file->vnode, kernelbuff, size, offset, &byteswritten, 0);
if (ret.errno)
goto cleanup;
file->offset += byteswritten;
file->offset = offset + byteswritten;
ret.ret = byteswritten;
ret.errno = 0;
cleanup: