Changeset 7034 for branches


Ignore:
Timestamp:
Aug 12, 2007, 3:38:07 PM (17 years ago)
Author:
Gary Byers
Message:

Handle deferred suspend interrupts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/working-0708/lisp-kernel/ppc-exceptions.c

    r6546 r7034  
    13311331
    13321332  case UUO_INTERR:
    1333     status = handle_error(xp, errnum, rb, 0,  where);
     1333    if (errnum == error_propagate_suspend) {
     1334      status = 0;
     1335    } else {
     1336      status = handle_error(xp, errnum, rb, 0,  where);
     1337    }
    13341338    break;
    13351339
     
    17631767    old_valence = prepare_to_wait_for_exception_lock(tcr, context);
    17641768  }
     1769
     1770  if (tcr->flags & (1<<TCR_FLAG_BIT_PENDING_SUSPEND)) {
     1771    CLR_TCR_FLAG(tcr, TCR_FLAG_BIT_PENDING_SUSPEND);
     1772    pthread_kill(pthread_self(), thread_suspend_signal);
     1773  }
     1774
    17651775 
    17661776  wait_for_exception_lock_in_handler(tcr, context, &xframe_link);
Note: See TracChangeset for help on using the changeset viewer.