39,46d38
< void
< Sensitivity::satisfy()
< {
< warn_once("Ignoring suspended status for now.\n");
< process->setDynamic(nullptr);
< scheduler.ready(process);
< }
<
91c83
< satisfy();
---
> process->satisfySensitivity(this);
153c145
< //TODO Suspend this process.
---
> _suspendedReady = false;
170c162,164
< //TODO Resume this process.
---
> if (_suspendedReady)
> ready();
> _suspendedReady = false;
311a306,325
> void
> Process::satisfySensitivity(Sensitivity *s)
> {
> // If there's a dynamic sensitivity and this wasn't it, ignore.
> if (dynamicSensitivity && dynamicSensitivity != s)
> return;
>
> setDynamic(nullptr);
> ready();
> }
>
> void
> Process::ready()
> {
> if (suspended())
> _suspendedReady = true;
> else
> scheduler.ready(this);
> }
>