X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=pthread.cc;h=4b5e3d37963dc3887bcfa24d764375c4d479f654;hp=d6067eb20fdafb70f04a8378150ba479f3465fd8;hb=85de8a1591855db0bc0608b67532515df12e65cc;hpb=02873e73c7c1ef478c3b5a847cce3ed8d5a8841b diff --git a/pthread.cc b/pthread.cc index d6067eb2..4b5e3d37 100644 --- a/pthread.cc +++ b/pthread.cc @@ -52,6 +52,12 @@ int pthread_detach(pthread_t t) { return 0; } +/* Take care of both pthread_yield and c++ thread yield */ +int sched_yield() { + model->switch_to_master(new ModelAction(THREAD_YIELD, std::memory_order_seq_cst, thread_current(), VALUE_NONE)); + return 0; +} + void pthread_exit(void *value_ptr) { Thread * th = thread_current(); th->set_pthread_return(value_ptr);