updated synch.c(sema up) and thread.c(yield on return)