fixed timer_sleep() issues; still need protection for shared data struct