Bug 839677 - Remove problematic gsm_msg_queue and use gsm_msgq instead

This commit is contained in:
Adam Roach [:abr] 2013-03-06 08:04:25 -06:00
parent 6af4b00689
commit 768df10ff6
6 changed files with 22 additions and 26 deletions

View File

@ -198,7 +198,7 @@ fsm_init_cac_failure_timer(cac_data_t *cac_data, uint32_t timeout)
cac_data->cac_fail_timer = cac_data->cac_fail_timer =
cprCreateTimer("CAC failure timer", GSM_CAC_FAILURE_TIMER, TIMER_EXPIRATION, cprCreateTimer("CAC failure timer", GSM_CAC_FAILURE_TIMER, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
if (cac_data->cac_fail_timer == NULL) { if (cac_data->cac_fail_timer == NULL) {
CAC_ERROR(CAC_F_PREFIX"CAC Timer allocation failed.\n", CAC_ERROR(CAC_F_PREFIX"CAC Timer allocation failed.\n",

View File

@ -2154,7 +2154,7 @@ fsmdef_set_req_pending_timer (fsmdef_dcb_t *dcb)
dcb->req_pending_tmr = cprCreateTimer("Request Pending", dcb->req_pending_tmr = cprCreateTimer("Request Pending",
GSM_REQ_PENDING_TIMER, GSM_REQ_PENDING_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
if (dcb->req_pending_tmr == NULL) { if (dcb->req_pending_tmr == NULL) {
FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED), FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED),
@ -4179,7 +4179,7 @@ fsmdef_ev_collectinginfo_release (sm_event_t *event)
dcb->err_onhook_tmr = cprCreateTimer("Error Onhook", dcb->err_onhook_tmr = cprCreateTimer("Error Onhook",
GSM_ERROR_ONHOOK_TIMER, GSM_ERROR_ONHOOK_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
if (dcb->err_onhook_tmr == NULL) { if (dcb->err_onhook_tmr == NULL) {
FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED), FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED),
dcb->call_id, dcb->line, "", "Error Onhook"); dcb->call_id, dcb->line, "", "Error Onhook");
@ -4517,7 +4517,7 @@ fsmdef_ev_callsent_release (sm_event_t *event)
dcb->err_onhook_tmr = cprCreateTimer("Error Onhook", dcb->err_onhook_tmr = cprCreateTimer("Error Onhook",
GSM_ERROR_ONHOOK_TIMER, GSM_ERROR_ONHOOK_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
if (dcb->err_onhook_tmr == NULL) { if (dcb->err_onhook_tmr == NULL) {
FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED), FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED),
dcb->call_id, dcb->line, "", "Error Onhook"); dcb->call_id, dcb->line, "", "Error Onhook");
@ -8685,7 +8685,7 @@ fsmdef_init (void)
dcb->ringback_delay_tmr = cprCreateTimer("Ringback Delay", dcb->ringback_delay_tmr = cprCreateTimer("Ringback Delay",
GSM_RINGBACK_DELAY_TIMER, GSM_RINGBACK_DELAY_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
if (dcb->ringback_delay_tmr == NULL) { if (dcb->ringback_delay_tmr == NULL) {
FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED), FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED),
dcb->call_id, dcb->line, fname, "Ringback Delay"); dcb->call_id, dcb->line, fname, "Ringback Delay");
@ -8698,7 +8698,7 @@ fsmdef_init (void)
dcb->autoAnswerTimer = cprCreateTimer("Auto Answer", dcb->autoAnswerTimer = cprCreateTimer("Auto Answer",
GSM_AUTOANSWER_TIMER, GSM_AUTOANSWER_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
if (dcb->autoAnswerTimer == NULL) { if (dcb->autoAnswerTimer == NULL) {
FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED), FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED),
dcb->call_id, dcb->line, fname, "Auto Answer"); dcb->call_id, dcb->line, fname, "Auto Answer");
@ -8709,7 +8709,7 @@ fsmdef_init (void)
dcb->revertTimer = cprCreateTimer("Call Reversion", dcb->revertTimer = cprCreateTimer("Call Reversion",
GSM_REVERSION_TIMER, GSM_REVERSION_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
dcb->reversionInterval = -1; dcb->reversionInterval = -1;
if (dcb->revertTimer == NULL) { if (dcb->revertTimer == NULL) {
FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED), FSM_DEBUG_SM(get_debug_string(FSMDEF_DBG_TMR_CREATE_FAILED),

View File

@ -34,7 +34,7 @@ static void sub_process_feature_notify(ccsip_sub_not_data_t *msg, callid_t call_
static void sub_process_b2bcnf_msg(uint32_t cmd, void *msg); static void sub_process_b2bcnf_msg(uint32_t cmd, void *msg);
void fsmb2bcnf_get_sub_call_id_from_ccb(fsmcnf_ccb_t *ccb, callid_t *cnf_call_id, void fsmb2bcnf_get_sub_call_id_from_ccb(fsmcnf_ccb_t *ccb, callid_t *cnf_call_id,
callid_t *cns_call_id); callid_t *cns_call_id);
cprMsgQueue_t gsm_msg_queue; extern cprMsgQueue_t gsm_msgq;
void destroy_gsm_thread(void); void destroy_gsm_thread(void);
void dp_shutdown(); void dp_shutdown();
extern void dcsm_process_jobs(void); extern void dcsm_process_jobs(void);
@ -86,7 +86,7 @@ gsm_send_msg (uint32_t cmd, cprBuffer_t buf, uint16_t len)
syshdr->Cmd = cmd; syshdr->Cmd = cmd;
syshdr->Len = len; syshdr->Len = len;
if (cprSendMessage(gsm_msg_queue, buf, (void **) &syshdr) == CPR_FAILURE) { if (cprSendMessage(gsm_msgq, buf, (void **) &syshdr) == CPR_FAILURE) {
cprReleaseSysHeader(syshdr); cprReleaseSysHeader(syshdr);
return CPR_FAILURE; return CPR_FAILURE;
} }
@ -264,13 +264,9 @@ GSMTask (void *arg)
phn_syshdr_t *syshdr; phn_syshdr_t *syshdr;
boolean release_msg = TRUE; boolean release_msg = TRUE;
/* MOZ_ASSERT (gsm_msgq == (cprMsgQueue_t) arg);
* Get the GSM message queue handle
* A hack until the tasks in irx are if (!gsm_msgq) {
* CPRized.
*/
gsm_msg_queue = (cprMsgQueue_t) arg;
if (!gsm_msg_queue) {
GSM_ERR_MSG(GSM_F_PREFIX"invalid input, exiting\n", fname); GSM_ERR_MSG(GSM_F_PREFIX"invalid input, exiting\n", fname);
return; return;
} }
@ -312,7 +308,7 @@ GSMTask (void *arg)
release_msg = TRUE; release_msg = TRUE;
msg = cprGetMessage(gsm_msg_queue, TRUE, (void **) &syshdr); msg = cprGetMessage(gsm_msgq, TRUE, (void **) &syshdr);
if (msg) { if (msg) {
switch (syshdr->Cmd) { switch (syshdr->Cmd) {
case TIMER_EXPIRATION: case TIMER_EXPIRATION:

View File

@ -45,11 +45,11 @@ typedef enum {
/* /*
* The common code creating the GSM timers needs to have * The common code creating the GSM timers needs to have
* access to the gsm_msg_queue variable since CPR * access to the gsm_msgq variable since CPR
* needs to know where to send the timer expiration * needs to know where to send the timer expiration
* message. * message.
*/ */
extern cprMsgQueue_t gsm_msg_queue; extern cprMsgQueue_t gsm_msgq;
extern void kpml_process_msg(uint32_t cmd, void *msg); extern void kpml_process_msg(uint32_t cmd, void *msg);
extern void dp_process_msg(uint32_t cmd, void *msg); extern void dp_process_msg(uint32_t cmd, void *msg);

View File

@ -5000,14 +5000,14 @@ lsm_init (void)
*/ */
lsm_tmr_tones = cprCreateTimer("lsm_tmr_tones", lsm_tmr_tones = cprCreateTimer("lsm_tmr_tones",
GSM_MULTIPART_TONES_TIMER, GSM_MULTIPART_TONES_TIMER,
TIMER_EXPIRATION, gsm_msg_queue); TIMER_EXPIRATION, gsm_msgq);
lsm_continuous_tmr_tones = cprCreateTimer("lsm_continuous_tmr_tones", lsm_continuous_tmr_tones = cprCreateTimer("lsm_continuous_tmr_tones",
GSM_CONTINUOUS_TONES_TIMER, GSM_CONTINUOUS_TONES_TIMER,
TIMER_EXPIRATION, TIMER_EXPIRATION,
gsm_msg_queue); gsm_msgq);
lsm_tone_duration_tmr = cprCreateTimer("lsm_tone_duration_tmr", lsm_tone_duration_tmr = cprCreateTimer("lsm_tone_duration_tmr",
GSM_TONE_DURATION_TIMER, GSM_TONE_DURATION_TIMER,
TIMER_EXPIRATION, gsm_msg_queue); TIMER_EXPIRATION, gsm_msgq);
lsm_init_config(); lsm_init_config();
for (i=0 ; i<MAX_REG_LINES; i++) { for (i=0 ; i<MAX_REG_LINES; i++) {

View File

@ -293,15 +293,15 @@ kpml_start_timers (kpml_data_t *kpml_data)
kpml_data->inter_digit_timer = kpml_data->inter_digit_timer =
cprCreateTimer("Interdigit timer", GSM_KPML_INTER_DIGIT_TIMER, cprCreateTimer("Interdigit timer", GSM_KPML_INTER_DIGIT_TIMER,
TIMER_EXPIRATION, gsm_msg_queue); TIMER_EXPIRATION, gsm_msgq);
kpml_data->critical_timer = kpml_data->critical_timer =
cprCreateTimer("Criticaldigit timer", GSM_KPML_CRITICAL_DIGIT_TIMER, cprCreateTimer("Criticaldigit timer", GSM_KPML_CRITICAL_DIGIT_TIMER,
TIMER_EXPIRATION, gsm_msg_queue); TIMER_EXPIRATION, gsm_msgq);
kpml_data->extra_digit_timer = kpml_data->extra_digit_timer =
cprCreateTimer("Extradigit timer", GSM_KPML_EXTRA_DIGIT_TIMER, cprCreateTimer("Extradigit timer", GSM_KPML_EXTRA_DIGIT_TIMER,
TIMER_EXPIRATION, gsm_msg_queue); TIMER_EXPIRATION, gsm_msgq);
/* Check if any of the timer cannot be allocated */ /* Check if any of the timer cannot be allocated */
if (kpml_data->inter_digit_timer == NULL || if (kpml_data->inter_digit_timer == NULL ||
@ -665,7 +665,7 @@ kpml_start_subscription_timer (kpml_data_t * kpml_data, unsigned long duration)
kpml_data->sub_timer = cprCreateTimer("sub timer", kpml_data->sub_timer = cprCreateTimer("sub timer",
GSM_KPML_SUBSCRIPTION_TIMER, GSM_KPML_SUBSCRIPTION_TIMER,
TIMER_EXPIRATION, gsm_msg_queue); TIMER_EXPIRATION, gsm_msgq);
kpml_data->sub_duration = duration; kpml_data->sub_duration = duration;