Ignore:
Timestamp:
Sep 13, 2004, 7:26:59 AM (16 years ago)
Author:
gb
Message:

wait_on_semaphore: return KERN_OPERATION_TIMED_OUT if wait was aborted
and we'd timed out anyway.
suspend_tcr: use mach_suspend_tcr() preferentially on Darwin.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/lisp-kernel/thread_manager.c

    r826 r871  
    184184
    185185      if ((seconds <= 0) && (nanos <= 0)) {
    186         return 0;
     186        return KERN_OPERATION_TIMED_OUT;
    187187      }
    188188
     
    792792  int suspend_count = atomic_incf(&(tcr->suspend_count));
    793793  if (suspend_count == 1) {
     794#ifdef DARWIN
     795      if (mach_suspend_tcr(tcr)) {
     796        tcr->flags |= TCR_FLAG_BIT_ALT_SUSPEND;
     797        return true;
     798      }
     799#endif
    794800    if (pthread_kill((pthread_t)ptr_from_lispobj(tcr->osid), thread_suspend_signal) == 0) {
    795801      SEM_WAIT(tcr->suspend);
Note: See TracChangeset for help on using the changeset viewer.