correction: signal() unlocks instead of locks