core: properly yield in locker