mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 02:37:10 +00:00 
			
		
		
		
	Previously, DETECT_DEADLOCKS depended on DEBUG_THREADS. Unfortunately, DEBUG_THREADS adds a lot of lock tracking overhead to all of the lock lifecycle calls whereas DETECT_DEADLOCKS just causes the lock calls to loop over trylock in 200us intervals until the lock is obtained and spits out log messages if it takes more than 5 seconds. From a code perspective, the only reason they were tied together was for logging. So... The ifdefs in lock.c were refactored to allow DETECT_DEADLOCKS to be enabled without also enabling DEBUG_THREADS. Resolves: #321 UserNote: You no longer need to select DEBUG_THREADS to use DETECT_DEADLOCKS. This removes a significant amount of overhead if you just want to detect possible deadlocks vs needing full lock tracing.
		
			
				
	
	
		
			27 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| 	<category name="MENUSELECT_CFLAGS" displayname="Compiler Flags - Development">
 | |
| 		<member name="MTX_PROFILE" displayname="Enable Code Profiling Using TSC Counters">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DEBUG_SCHEDULER" displayname="Enable Scheduler Debugging Output">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DEBUG_THREADLOCALS" displayname="Enable Thread-Local-Storage Debugging">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DETECT_DEADLOCKS" displayname="Detect Deadlocks">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DUMP_SCHEDULER" displayname="Dump Scheduler Contents for Debugging">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="DO_CRASH" displayname="Crash on fatal errors">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="THREAD_CRASH" displayname="Crash on mutex errors">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 		<member name="TEST_FRAMEWORK" displayname="Enable Test Framework API">
 | |
| 			<support_level>extended</support_level>
 | |
| 		</member>
 | |
| 	</category>
 |