X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/c50398ab4cb09658b3b3fff74804d2f26df785e7..ab281459f86543c6b8c11ecccc3e743c3d69577e:/lunaix-os/kernel/process/sched.c?ds=sidebyside diff --git a/lunaix-os/kernel/process/sched.c b/lunaix-os/kernel/process/sched.c index c48de8e..3ee0e76 100644 --- a/lunaix-os/kernel/process/sched.c +++ b/lunaix-os/kernel/process/sched.c @@ -4,6 +4,7 @@ #include #include +#include #include #include #include @@ -335,6 +336,8 @@ destroy_process(pid_t pid) llist_delete(&proc->tasks); llist_delete(&proc->sleep.sleepers); + taskfs_invalidate(pid); + if (proc->cwd) { vfs_unref_dnode(proc->cwd); } @@ -342,7 +345,7 @@ destroy_process(pid_t pid) for (size_t i = 0; i < VFS_MAX_FD; i++) { struct v_fd* fd = proc->fdtable->fds[i]; if (fd) - vfs_close(fd->file); + vfs_pclose(fd->file, pid); } vfree(proc->fdtable);