mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
Add a "syncd" kernel process that periodically calls sync().
This commit is contained in:
@@ -44,7 +44,7 @@ void initialize()
|
||||
kprintf("syscall: int 0x80 handler installed\n");
|
||||
}
|
||||
|
||||
static int sync()
|
||||
int sync()
|
||||
{
|
||||
VFS::the().sync();
|
||||
return 0;
|
||||
|
||||
@@ -103,6 +103,7 @@ struct SC_mmap_params {
|
||||
};
|
||||
|
||||
void initialize();
|
||||
int sync();
|
||||
|
||||
inline dword invoke(Function function)
|
||||
{
|
||||
|
||||
@@ -167,6 +167,15 @@ static void spawn_stress()
|
||||
}
|
||||
#endif
|
||||
|
||||
static void syncd() NORETURN;
|
||||
static void syncd()
|
||||
{
|
||||
for (;;) {
|
||||
Syscall::sync();
|
||||
sleep(10 * TICKS_PER_SECOND);
|
||||
}
|
||||
}
|
||||
|
||||
static void init_stage2() NORETURN;
|
||||
static void init_stage2()
|
||||
{
|
||||
@@ -285,6 +294,8 @@ void init()
|
||||
Process::initialize();
|
||||
Process::create_kernel_process(init_stage2, "init_stage2");
|
||||
|
||||
Process::create_kernel_process(syncd, "syncd");
|
||||
|
||||
Scheduler::pick_next();
|
||||
|
||||
sti();
|
||||
|
||||
Reference in New Issue
Block a user