Corrected unlock type. Don't mark as locked until lock has actually been grabbed.
Call renamed function. Fix shared_mutex logic
Remove on_suspend/on_resume from fiber data structures, moving to scheduler
Moved on_suspend to scheduler. Updated condition implementation.