mirror of
				https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
				synced 2025-11-04 05:53:26 +00:00 
			
		
		
		
	[debug] Introduce DREF debug category for reference counting
This commit is contained in:
		@@ -27,6 +27,7 @@ enum {
 | 
				
			|||||||
	DMGCP,
 | 
						DMGCP,
 | 
				
			||||||
	DHO,
 | 
						DHO,
 | 
				
			||||||
	DDB,
 | 
						DDB,
 | 
				
			||||||
 | 
						DREF,
 | 
				
			||||||
	Debug_LastEntry,
 | 
						Debug_LastEntry,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -101,14 +101,14 @@ typedef int gsm_cbfn(unsigned int hooknum,
 | 
				
			|||||||
#define LCHAN_RELEASE_TIMEOUT 20, 0
 | 
					#define LCHAN_RELEASE_TIMEOUT 20, 0
 | 
				
			||||||
#define use_lchan(lchan) \
 | 
					#define use_lchan(lchan) \
 | 
				
			||||||
	do {	lchan->use_count++; \
 | 
						do {	lchan->use_count++; \
 | 
				
			||||||
		DEBUGP(DCC, "lchan (bts=%d,trx=%d,ts=%d,ch=%d) increases usage to: %d\n", \
 | 
							DEBUGP(DREF, "lchan (bts=%d,trx=%d,ts=%d,ch=%d) increases usage to: %d\n", \
 | 
				
			||||||
			lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, \
 | 
								lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, \
 | 
				
			||||||
			lchan->nr, lchan->use_count); \
 | 
								lchan->nr, lchan->use_count); \
 | 
				
			||||||
		bsc_schedule_timer(&lchan->release_timer, LCHAN_RELEASE_TIMEOUT); } while(0);
 | 
							bsc_schedule_timer(&lchan->release_timer, LCHAN_RELEASE_TIMEOUT); } while(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define put_lchan(lchan) \
 | 
					#define put_lchan(lchan) \
 | 
				
			||||||
	do { lchan->use_count--; \
 | 
						do { lchan->use_count--; \
 | 
				
			||||||
		DEBUGP(DCC, "lchan (bts=%d,trx=%d,ts=%d,ch=%d) decreases usage to: %d\n", \
 | 
							DEBUGP(DREF, "lchan (bts=%d,trx=%d,ts=%d,ch=%d) decreases usage to: %d\n", \
 | 
				
			||||||
			lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, \
 | 
								lchan->ts->trx->bts->nr, lchan->ts->trx->nr, lchan->ts->nr, \
 | 
				
			||||||
			lchan->nr, lchan->use_count); \
 | 
								lchan->nr, lchan->use_count); \
 | 
				
			||||||
	} while(0);
 | 
						} while(0);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -52,6 +52,7 @@ static struct debug_category default_categories[Debug_LastEntry] = {
 | 
				
			|||||||
    [DMGCP]	= { .enabled = 1, .loglevel = 0},
 | 
					    [DMGCP]	= { .enabled = 1, .loglevel = 0},
 | 
				
			||||||
    [DHO]	= { .enabled = 1, .loglevel = 0},
 | 
					    [DHO]	= { .enabled = 1, .loglevel = 0},
 | 
				
			||||||
    [DDB]	= { .enabled = 1, .loglevel = 0},
 | 
					    [DDB]	= { .enabled = 1, .loglevel = 0},
 | 
				
			||||||
 | 
					    [DREF]	= { .enabled = 0, .loglevel = 0},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct debug_info {
 | 
					struct debug_info {
 | 
				
			||||||
@@ -95,6 +96,7 @@ static const struct debug_info debug_info[] = {
 | 
				
			|||||||
	DEBUG_CATEGORY(DMGCP, "DMGCP", "", "")
 | 
						DEBUG_CATEGORY(DMGCP, "DMGCP", "", "")
 | 
				
			||||||
	DEBUG_CATEGORY(DHO, "DHO", "", "")
 | 
						DEBUG_CATEGORY(DHO, "DHO", "", "")
 | 
				
			||||||
	DEBUG_CATEGORY(DDB, "DDB", "", "")
 | 
						DEBUG_CATEGORY(DDB, "DDB", "", "")
 | 
				
			||||||
 | 
						DEBUG_CATEGORY(DDB, "DREF", "", "")
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -137,7 +137,7 @@ static void subscr_free(struct gsm_subscriber *subscr)
 | 
				
			|||||||
struct gsm_subscriber *subscr_get(struct gsm_subscriber *subscr)
 | 
					struct gsm_subscriber *subscr_get(struct gsm_subscriber *subscr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	subscr->use_count++;
 | 
						subscr->use_count++;
 | 
				
			||||||
	DEBUGP(DCC, "subscr %s usage increases usage to: %d\n",
 | 
						DEBUGP(DREF, "subscr %s usage increases usage to: %d\n",
 | 
				
			||||||
			subscr->extension, subscr->use_count);
 | 
								subscr->extension, subscr->use_count);
 | 
				
			||||||
	return subscr;
 | 
						return subscr;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -145,7 +145,7 @@ struct gsm_subscriber *subscr_get(struct gsm_subscriber *subscr)
 | 
				
			|||||||
struct gsm_subscriber *subscr_put(struct gsm_subscriber *subscr)
 | 
					struct gsm_subscriber *subscr_put(struct gsm_subscriber *subscr)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	subscr->use_count--;
 | 
						subscr->use_count--;
 | 
				
			||||||
	DEBUGP(DCC, "subscr %s usage decreased usage to: %d\n",
 | 
						DEBUGP(DREF, "subscr %s usage decreased usage to: %d\n",
 | 
				
			||||||
			subscr->extension, subscr->use_count);
 | 
								subscr->extension, subscr->use_count);
 | 
				
			||||||
	if (subscr->use_count <= 0)
 | 
						if (subscr->use_count <= 0)
 | 
				
			||||||
		subscr_free(subscr);
 | 
							subscr_free(subscr);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user