Removed redundant list remove call and fixed sema_up count now that thread_unblock may yield current thread