Browse Source

Change PowerManagement to signal stop and wait for tasks to exit before

sleeping
master
Adam Pippin 4 years ago
parent
commit
1447668695
  1. 10
      PowerManagement.cpp

10
PowerManagement.cpp

@ -64,15 +64,19 @@ int PowerManagement(int pid, unsigned int signal)
break;
case POWER_STATE_IDLE:
if (accumulator > SLEEP_TIMEOUT)
{
if (Kernel_count_running_tasks() == 1)
{
sleep();
}
else
{
Kernel_signal(SIGNAL_STOP);
}
}
break;
}
// TODO: On sleep, signal "STOP" to all tasks and reschedule ourselves more frequently
// Wait until Kernel_count_running == 1, then put chip to sleep
return 0;
}

Loading…
Cancel
Save