diff --git a/source/include/NetworkBufferManagement.h b/source/include/NetworkBufferManagement.h index c209217c2..977097eab 100644 --- a/source/include/NetworkBufferManagement.h +++ b/source/include/NetworkBufferManagement.h @@ -80,6 +80,10 @@ NetworkBufferDescriptor_t * pxResizeNetworkBufferWithDescriptor( NetworkBufferDe BaseType_t prvIsFreeBuffer( const NetworkBufferDescriptor_t * pxDescr ); #endif +#if ipconfigBUFFER_AND_DESCRIPTOR_RELEASE_HOOK + void vReleaseNetworkBufferAndDescriptorHook( NetworkBufferDescriptor_t * const pxNetworkBuffer ); +#endif + /* *INDENT-OFF* */ #ifdef __cplusplus } /* extern "C" */ diff --git a/source/portable/BufferManagement/BufferAllocation_1.c b/source/portable/BufferManagement/BufferAllocation_1.c index 817bf6f17..2d5e160a2 100644 --- a/source/portable/BufferManagement/BufferAllocation_1.c +++ b/source/portable/BufferManagement/BufferAllocation_1.c @@ -416,6 +416,10 @@ void vReleaseNetworkBufferAndDescriptor( NetworkBufferDescriptor_t * const pxNet prvShowWarnings(); } + #if ( ipconfigBUFFER_AND_DESCRIPTOR_RELEASE_HOOK == 1 ) + vReleaseNetworkBufferAndDescriptorHook( pxNetworkBuffer ); + #endif /* if ( ipconfigBUFFER_AND_DESCRIPTOR_RELEASE_HOOK ) */ + iptraceNETWORK_BUFFER_RELEASED( pxNetworkBuffer ); } }