if(action->timer_id > 0) { g_source_remove(action->timer_id); }
timer_callback(gpointer data){	if(data == NULL) {		/* global timeout - abort the transition */		crm_info("Transition timeout reached..."			 " marking transition complete.");		crm_warn("Some actions may not have been executed.");		send_success("timeout");		return TRUE;			} else {		/* fail the action		 * - which may or may not abort the transition		 */		action_t *action = (action_t*)data;		action->timer_id = -1;		return do_update_cib(action->xml, LRM_OP_TIMEOUT);		}}