Exemple #1
0
static void HQNCALL timeout_fire(hqn_timer_t* timer, void* data)
{
  SWMSG_INTERRUPT irq;

  UNUSED_PARAM(hqn_timer_t*, timer);
  UNUSED_PARAM(void*, data);

  /* Send a timeout interrupt event. */
  irq.timeline = (sw_tl_ref)((intptr_t)data);
  HQASSERT((void *)((intptr_t)irq.timeline) == data, "Truncated timeline ref") ;
  (void)SwEvent(SWEVT_INTERRUPT_TIMEOUT, &irq, sizeof(irq));
}
Exemple #2
0
/**
 * \brief Request cancellation of the current job.
 *
 * This function requests cancellation of the current job in the OIL.
 * Along with OIL_AbortCallback(), it forms a decoupled mechanism for
 * cancelling the current job.  Calling this function set the status
 * of the current job (if there is one) to @c OIL_Job_Abort.  By calling
 * OIL_AbortCallback() periodically, the Skin can check on the status of the
 * current job, and, if cancellation has been requested, take appropriate
 * action.
 */
void OIL_JobCancel(void)
{
  SWMSG_INTERRUPT irq = { 0 };

  (void)SwEvent(SWEVT_INTERRUPT_USER, &irq, sizeof(irq));

  /* g_SystemState.bJobCancelReq = TRUE; not required with events */
  g_SystemState.eCurrentState = OIL_Sys_JobCancel;
#ifndef PMS_OIL_MERGE_DISABLE_JS
  Call_gps_InterpNotifyState(g_SystemState.eCurrentState); 
#endif
  if(g_pstCurrentJob)
  {
  /* g_pstCurrentJob->eJobStatus = OIL_Job_Abort; not required with events */
    g_pstCurrentJob->eJobStatus = OIL_Job_RipDone ;
  }
}