コード例 #1
0
ファイル: epg_db.c プロジェクト: alkap007/ali3606
BOOL release_db_mem(INT32 db_code)
{
	INT32 ret;
	ret = ERR_FAILED;
	// two case:nofree DB_NODE  or  x_mem no free space
	if( (ERR_FAILED==db_code) && (db_block.index < db_block.max_count) )
		db_code = ERR_NO_MEM;
	if(ERR_NO_MEM==db_code)
	{// free data: first choice, free one day extend data; second choice, free one day data; third choice, free one tp data
		if(can_free(EXT_DATA)&&ret!=SUCCESS)
			ret = data_release_extend();
		if(can_free(EVN_DATA)&&ret!=SUCCESS)
			ret = data_release_event();
		while(can_free(TP_DATA)&&ret!=SUCCESS)
			ret = data_release_tp();
	}
	else
	{// no free DB_NODE, free event node: first choice, free one day event data; second choice, free one tp data
		if(can_free(EVN_DATA)&&ret!=SUCCESS)
			ret = data_release_event();
		while(can_free(TP_DATA)&&ret!=SUCCESS)
			ret = data_release_tp();
	}
	return ret;
}
コード例 #2
0
ファイル: CAN.cpp プロジェクト: AlessandroA/mbed
CAN::~CAN() {
    // No lock needed in destructor
    can_irq_free(&_can);
    can_free(&_can);
}
コード例 #3
0
ファイル: CAN.cpp プロジェクト: 0x23/Smoothieware
CAN::~CAN() {
    can_free(&_can);
}
コード例 #4
0
ファイル: CAN.cpp プロジェクト: ProxxiTech/mbed
CAN::~CAN() {
    can_irq_free(&_can);
    can_free(&_can);
}