SyncTask.cpp 669 B

123456789101112131415161718192021222324252627
  1. /*
  2. * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <Kernel/FileSystem/VirtualFileSystem.h>
  7. #include <Kernel/Process.h>
  8. #include <Kernel/Sections.h>
  9. #include <Kernel/Tasks/SyncTask.h>
  10. #include <Kernel/Time/TimeManagement.h>
  11. namespace Kernel {
  12. UNMAP_AFTER_INIT void SyncTask::spawn()
  13. {
  14. RefPtr<Thread> syncd_thread;
  15. (void)Process::create_kernel_process(syncd_thread, KString::must_create("SyncTask"), [] {
  16. dbgln("SyncTask is running");
  17. for (;;) {
  18. VirtualFileSystem::sync();
  19. (void)Thread::current()->sleep(Time::from_seconds(1));
  20. }
  21. });
  22. }
  23. }