X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fthread.c;h=d38fd72183669741f8d2049d96e092e8ba36a904;hb=6298db769e00670920b3d5d2e2dc5426f9d64786;hp=7c85b3e4dbb36328b5b264bd77c76df1b747927e;hpb=26e8f33d8639e4de75e59e3aa30bbd7478d51a69;p=sbcl.git diff --git a/src/runtime/thread.c b/src/runtime/thread.c index 7c85b3e..d38fd72 100644 --- a/src/runtime/thread.c +++ b/src/runtime/thread.c @@ -235,7 +235,6 @@ create_cleanup_thread(struct thread *thread_to_be_cleaned_up) (os_vm_address_t) thread_to_be_cleaned_up->os_address; result = pthread_create(&thread, NULL, cleanup_thread, freeable); gc_assert(result == 0); - sched_yield(); } } @@ -368,10 +367,6 @@ create_thread_struct(lispobj initial_function) { int i; #endif -#ifdef CREATE_CLEANUP_THREAD - /* Give a chance for cleanup threads to run. */ - sched_yield(); -#endif /* May as well allocate all the spaces at once: it saves us from * having to decide what to do if only some of the allocations * succeed. SPACES must be page-aligned, since the GC expects the @@ -734,3 +729,13 @@ void gc_start_the_world() FSHOW_SIGNAL((stderr,"/gc_start_the_world:end\n")); } #endif + +int +thread_yield() +{ +#ifdef LISP_FEATURE_SB_THREAD + return sched_yield(); +#else + return 0; +#endif +}