Skip to content

Fix Sleep/Purity checks being skipped under certain overrides#311

Merged
spookydonut merged 3 commits intoSpaceManiac:masterfrom
fira:sleep-overrides-fix
Apr 15, 2022
Merged

Fix Sleep/Purity checks being skipped under certain overrides#311
spookydonut merged 3 commits intoSpaceManiac:masterfrom
fira:sleep-overrides-fix

Conversation

@fira
Copy link
Copy Markdown
Contributor

@fira fira commented Mar 26, 2022

Long overdue PR for #267 and as discuted on coderbus ages ago back then

TL;DR is, there being an override one way or another shouldn't prevent you from checking children too

Discovered on CM-SS13 as we had a controller held up by sleep randomly in production, and no amount of hammering SHOULD_NOT_SLEEP checks seemed to trip anything !

As additional and separate note, and as we discussed back then on coderbus, there are more situations with assumptions of types that mean SpacemanDMM will miss out on a big part of the violators. It's actually for best, because "properly" checking is near impossible on SS13 due to double dispatch constructs just about erasing the "actual" types. This resulted in about 25,000 violating procs when fixing it for CM-SS13, for example...

@spookydonut
Copy link
Copy Markdown
Collaborator

@fira I'd like to see a test case written for this that proves it works and will fail if your changes are removed.

@fira
Copy link
Copy Markdown
Contributor Author

fira commented Mar 26, 2022

@fira I'd like to see a test case written for this that proves it works and will fail if your changes are removed.

there is a snippet in the issue but let me add a test proper then too

@spookydonut spookydonut merged commit 7e5335e into SpaceManiac:master Apr 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants