forked from epagris/FreeRTOS-Kernel
		
	Add configASSERT()s to ensure counting semaphores are not created with a max count of zero or an initial count greater than the max count.
This commit is contained in:
		
							parent
							
								
									b181a3af99
								
							
						
					
					
						commit
						b1b4b15353
					
				@ -1473,7 +1473,7 @@ signed portBASE_TYPE xQueueCRReceive( xQueueHandle xQueue, void *pvBuffer, portT
 | 
			
		||||
 * these functions directly.
 | 
			
		||||
 */
 | 
			
		||||
xQueueHandle xQueueCreateMutex( unsigned char ucQueueType ) PRIVILEGED_FUNCTION;
 | 
			
		||||
xQueueHandle xQueueCreateCountingSemaphore( unsigned portBASE_TYPE uxCountValue, unsigned portBASE_TYPE uxInitialCount ) PRIVILEGED_FUNCTION;
 | 
			
		||||
xQueueHandle xQueueCreateCountingSemaphore( unsigned portBASE_TYPE uxMaxCount, unsigned portBASE_TYPE uxInitialCount ) PRIVILEGED_FUNCTION;
 | 
			
		||||
void* xQueueGetMutexHolder( xQueueHandle xSemaphore ) PRIVILEGED_FUNCTION;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 | 
			
		||||
@ -534,11 +534,14 @@ xQueueHandle xReturn = NULL;
 | 
			
		||||
 | 
			
		||||
#if ( configUSE_COUNTING_SEMAPHORES == 1 )
 | 
			
		||||
 | 
			
		||||
	xQueueHandle xQueueCreateCountingSemaphore( unsigned portBASE_TYPE uxCountValue, unsigned portBASE_TYPE uxInitialCount )
 | 
			
		||||
	xQueueHandle xQueueCreateCountingSemaphore( unsigned portBASE_TYPE uxMaxCount, unsigned portBASE_TYPE uxInitialCount )
 | 
			
		||||
	{
 | 
			
		||||
	xQueueHandle xHandle;
 | 
			
		||||
 | 
			
		||||
		xHandle = xQueueGenericCreate( uxCountValue, queueSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_COUNTING_SEMAPHORE );
 | 
			
		||||
		configASSERT( uxMaxCount != 0 );
 | 
			
		||||
		configASSERT( uxInitialCount <= uxMaxCount );
 | 
			
		||||
 | 
			
		||||
		xHandle = xQueueGenericCreate( uxMaxCount, queueSEMAPHORE_QUEUE_ITEM_LENGTH, queueQUEUE_TYPE_COUNTING_SEMAPHORE );
 | 
			
		||||
 | 
			
		||||
		if( xHandle != NULL )
 | 
			
		||||
		{
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user