view src/gpf/frame/frame.def @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents 4e78acac3d88
children
line wrap: on
line source

LIBRARY
DESCRIPTION "GPS Frame"
EXPORTS
 vsi_m_new
 vsi_m_free
 vsi_m_cfree
 vsi_m_cnew
 vsi_m_attach
 vsi_m_init
 vsi_p_create
 vsi_p_exit
 vsi_p_delete
 vsi_p_start
 vsi_p_stop
 vsi_p_handle
 vsi_p_name
 vsi_c_open
 vsi_c_close
 vsi_c_clear
 vsi_c_send
 vsi_c_free
 vsi_c_pfree
 vsi_c_new
 vsi_c_new_sdu
 vsi_c_pnew
 vsi_c_await
 vsi_c_primitive
 vsi_c_psend
 vsi_c_pmax_size
 vsi_c_sync
 vsi_c_alloc_send
 vsi_c_ppass
 vsi_free
 vsi_drpo_new
 vsi_drp_new
 vsi_dp_new
 vsi_dp_sum
 vsi_dp_max_size
 vsi_t_start
 vsi_t_pstart
 vsi_t_stop
 vsi_t_status
 vsi_t_config
 vsi_s_open
 vsi_s_close
 vsi_s_get
 vsi_s_release
 vsi_o_ttrace
 _vsi_o_ttrace
 vsi_o_itrace
 _vsi_o_itrace
 vsi_o_ptrace
 vsi_o_error_ttrace
 vsi_o_func_ttrace
 vsi_o_event_ttrace
 vsi_o_strace
 vsi_o_assert
 vsi_o_set_htrace
 vsi_gettaskname
 vsi_gettaskhandle
 vsi_e_name
 vsi_e_handle
 vsi_gettaskflags
 vsi_gettracemask
 vsi_settracemask
 vsi_t_time
 vsi_t_sleep
 vsi_d_create
 vsi_d_init
 vsi_d_exit
 vsi_d_open
 vsi_d_close
 vsi_d_read
 vsi_d_write
 vsi_d_setsignal
 vsi_d_resetsignal
 vsi_d_setconfig
 vsi_d_getconfig
 vsi_d_flush
 vsi_trc_free
 vsi_trcsuspend
 vsi_object_info
 pf_StartAllTasks
 pf_CreateAllEntities
 pf_Init
 pf_get_frameenv
 os_CreateTask
 os_DestroyTask
 os_StartTask
 os_StopTask
 os_GetTaskName
 os_GetTaskHandle
 os_SuspendTask
 os_TaskInformation
 os_CreateQueue
 os_DestroyQueue
 os_OpenQueue
 os_GetQueueName
 os_create_extq
 os_CloseQueue
 os_SendToQueue
 os_ReceiveFromQueue
 os_QueueInformation
 os_CreatePartitionPool
 os_AllocatePartition
 os_DeallocatePartition
 os_CreateMemoryPool
 os_AllocateMemory
 os_DeallocateMemory
 os_PartitionInformation
 os_MemoryInformation
 os_CreateTimer
 os_DestroyTimer
 os_StartTimer
 os_StopTimer
 os_QueryTimer
 os_TimerInformation
 os_CreateSemaphore
 os_DestroySemaphore
 os_OpenSemaphore
 os_CloseSemaphore
 os_ObtainSemaphore
 os_ReleaseSemaphore
 os_SemaphoreInformation
 os_GetTime
 os_ObjectInformation
 SuppressOK
 rt_RouteRead
 EntityNameBuf
 trc_hCommTrace
 FRM_TST_NAME
 FRM_RCV_NAME
 FRM_SYST_NAME
 FRM_PCO_NAME
 ext_data_pool_handle
 int_data_pool_handle
 PrimGroupHandle
 DmemGroupHandle