Commit Graph

8 Commits

Author SHA1 Message Date
Poojawa
8d178972a1 ports #4581 Startup Runtime fix 2019-02-02 06:03:40 -06:00
ArgobargSoup
32813814c8 Update to scheduler because Aro said so
Lets the callback cooldown for bell collars work.
2018-11-12 16:26:29 -08:00
Arokha Sieyes
7a6ff116a3 POLARIS: Varset Callback 2018-04-27 20:05:11 -04:00
Leshana
74332405a8 Optimize scheduler process by sorting its task list
It previously had to iterate over EVERY task in its list every time.   With lots of queued tasks that is slow.
Instead we sort it by schedule time.   That means when iterating thru list, if we get to a single task that is in the future, so are all remaining.
2018-03-08 22:27:47 -05:00
Leshana
2cd91c8bfc Fix /datum/scheduled_task was unable to be GC'd and was deleted.
In addition to fixing the problem, it makes sense.  The observer pattern is overkill for an object type we own; doing it directly in Destroy() is more efficient.
2017-06-14 01:07:35 -04:00
PsiOmegaDelta
ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Leshana
4f3029fcb2 Fix null pointer runtime in scheduled task controller.
* If the "scheduler" controller is restarted by the process scheduler for
any reason, it will start throwing runtimes every status panel update
because the new replacement instance doesn't initialize its list of
schedule tasks.
* Fix that by copying over the unfinished list from the old instance, but
doing some safety checks to make sure it doesn't copy over bad stuff.
2017-04-11 19:16:35 -04:00
Yoshax
f75d509e7f Ports event system from Bay 2016-06-01 22:05:04 +01:00