summaryrefslogtreecommitdiff
path: root/common_smp/src/txe_byte_allocate.c
diff options
context:
space:
mode:
authorYuxin Zhou <[email protected]>2021-10-14 00:51:26 +0000
committerYuxin Zhou <[email protected]>2021-10-14 00:51:26 +0000
commit1af8404c54f9c8d3caa2ac3523c2a5f014aecb1c (patch)
tree93e4f4d64ec8c21c01b77f19b8e7326e85227e3d /common_smp/src/txe_byte_allocate.c
parent215df45d4b59d4ce8606a88f566d1d426e64a84c (diff)
Release 6.1.9
Diffstat (limited to 'common_smp/src/txe_byte_allocate.c')
-rw-r--r--common_smp/src/txe_byte_allocate.c102
1 files changed, 52 insertions, 50 deletions
diff --git a/common_smp/src/txe_byte_allocate.c b/common_smp/src/txe_byte_allocate.c
index 3c226c11..7c522bae 100644
--- a/common_smp/src/txe_byte_allocate.c
+++ b/common_smp/src/txe_byte_allocate.c
@@ -12,8 +12,8 @@
/**************************************************************************/
/**************************************************************************/
-/** */
-/** ThreadX Component */
+/** */
+/** ThreadX Component */
/** */
/** Byte Memory */
/** */
@@ -32,57 +32,59 @@
#include "tx_byte_pool.h"
-/**************************************************************************/
-/* */
-/* FUNCTION RELEASE */
-/* */
-/* _txe_byte_allocate PORTABLE C */
+/**************************************************************************/
+/* */
+/* FUNCTION RELEASE */
+/* */
+/* _txe_byte_allocate PORTABLE C */
/* 6.1 */
/* AUTHOR */
/* */
/* William E. Lamie, Microsoft Corporation */
/* */
/* DESCRIPTION */
-/* */
-/* This function checks for errors in allocate bytes function call. */
-/* */
-/* INPUT */
-/* */
-/* pool_ptr Pointer to pool control block */
-/* memory_ptr Pointer to place allocated bytes */
+/* */
+/* This function checks for errors in allocate bytes function call. */
+/* */
+/* INPUT */
+/* */
+/* pool_ptr Pointer to pool control block */
+/* memory_ptr Pointer to place allocated bytes */
/* pointer */
-/* memory_size Number of bytes to allocate */
-/* wait_option Suspension option */
-/* */
-/* OUTPUT */
-/* */
-/* TX_POOL_ERROR Invalid memory pool pointer */
-/* TX_PTR_ERROR Invalid destination pointer */
-/* TX_WAIT_ERROR Invalid wait option */
-/* TX_CALLER_ERROR Invalid caller of this function */
-/* TX_SIZE_ERROR Invalid size of memory request */
-/* status Actual completion status */
-/* */
-/* CALLS */
-/* */
-/* _tx_byte_allocate Actual byte allocate function */
-/* */
-/* CALLED BY */
-/* */
-/* Application Code */
-/* */
-/* RELEASE HISTORY */
-/* */
+/* memory_size Number of bytes to allocate */
+/* wait_option Suspension option */
+/* */
+/* OUTPUT */
+/* */
+/* TX_POOL_ERROR Invalid memory pool pointer */
+/* TX_PTR_ERROR Invalid destination pointer */
+/* TX_WAIT_ERROR Invalid wait option */
+/* TX_CALLER_ERROR Invalid caller of this function */
+/* TX_SIZE_ERROR Invalid size of memory request */
+/* status Actual completion status */
+/* */
+/* CALLS */
+/* */
+/* _tx_byte_allocate Actual byte allocate function */
+/* */
+/* CALLED BY */
+/* */
+/* Application Code */
+/* */
+/* RELEASE HISTORY */
+/* */
/* DATE NAME DESCRIPTION */
/* */
-/* 09-30-2020 William E. Lamie Initial Version 6.1 */
+/* 05-19-2020 William E. Lamie Initial Version 6.0 */
+/* 09-30-2020 Yuxin Zhou Modified comment(s), */
+/* resulting in version 6.1 */
/* */
/**************************************************************************/
-UINT _txe_byte_allocate(TX_BYTE_POOL *pool_ptr, VOID **memory_ptr,
+UINT _txe_byte_allocate(TX_BYTE_POOL *pool_ptr, VOID **memory_ptr,
ULONG memory_size, ULONG wait_option)
{
-UINT status;
+UINT status;
#ifndef TX_TIMER_PROCESS_IN_ISR
TX_THREAD *thread_ptr;
#endif
@@ -94,15 +96,15 @@ TX_THREAD *thread_ptr;
/* Check for an invalid byte pool pointer. */
if (pool_ptr == TX_NULL)
{
-
+
/* Byte pool pointer is invalid, return appropriate error code. */
status = TX_POOL_ERROR;
}
-
+
/* Now check for invalid pool ID. */
else if (pool_ptr -> tx_byte_pool_id != TX_BYTE_POOL_ID)
{
-
+
/* Byte pool pointer is invalid, return appropriate error code. */
status = TX_POOL_ERROR;
}
@@ -122,7 +124,7 @@ TX_THREAD *thread_ptr;
/* Error in size, return appropriate error. */
status = TX_SIZE_ERROR;
}
-
+
/* Determine if the size is greater than the pool size. */
else if (memory_size > pool_ptr -> tx_byte_pool_size)
{
@@ -131,10 +133,10 @@ TX_THREAD *thread_ptr;
status = TX_SIZE_ERROR;
}
- else
+ else
{
- /* Check for a wait option error. Only threads are allowed any form of
+ /* Check for a wait option error. Only threads are allowed any form of
suspension. */
if (wait_option != TX_NO_WAIT)
{
@@ -142,14 +144,14 @@ TX_THREAD *thread_ptr;
/* Is call from ISR or Initialization? */
if (TX_THREAD_GET_SYSTEM_STATE() != ((ULONG) 0))
{
-
+
/* A non-thread is trying to suspend, return appropriate error code. */
status = TX_WAIT_ERROR;
}
}
}
#ifndef TX_TIMER_PROCESS_IN_ISR
-
+
/* Check for timer execution. */
if (status == TX_SUCCESS)
{
@@ -170,15 +172,15 @@ TX_THREAD *thread_ptr;
/* Is everything still okay? */
if (status == TX_SUCCESS)
{
-
+
/* Check for interrupt call. */
if (TX_THREAD_GET_SYSTEM_STATE() != ((ULONG) 0))
{
-
+
/* Now, make sure the call is from an interrupt and not initialization. */
if (TX_THREAD_GET_SYSTEM_STATE() < TX_INITIALIZE_IN_PROGRESS)
{
-
+
/* Invalid caller of this function, return appropriate error code. */
status = TX_CALLER_ERROR;
}