diff --git a/tasks/mm0/src/file.c b/tasks/mm0/src/file.c index d92ebf8..0f0a2cc 100644 --- a/tasks/mm0/src/file.c +++ b/tasks/mm0/src/file.c @@ -510,7 +510,7 @@ int fsync_common(struct tcb *task, int fd) void vm_file_put(struct vm_file *file) { /* Reduce file's opener count */ - if (!(file->openers)) + if (!(file->openers--)) /* No openers left, check any mappers */ if (!file->vm_obj.nlinks) /* No links or openers, delete the file */ diff --git a/tasks/mm0/src/test.c b/tasks/mm0/src/test.c index c5c37bf..7d505cc 100644 --- a/tasks/mm0/src/test.c +++ b/tasks/mm0/src/test.c @@ -49,6 +49,10 @@ int vm_object_test_shadow_count(struct vm_object *vmo) return 0; } +/* TODO: + * Add checking that total open file descriptors are + * equal to total opener count of all files + */ int mm0_test_global_vm_integrity(void) { struct tcb *task;