feat: 同步:新增mutex trace
方案描述: 1. 新增mutex trace Close: I5ZMML Signed-off-by: zhangdengyu <zhangdengyu2@huawei.com>
This commit is contained in:
@@ -39,7 +39,6 @@
|
||||
|
||||
#include "los_task.h"
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
extern "C" {
|
||||
@@ -302,6 +301,9 @@ typedef struct {
|
||||
UINT32 muxID; /**< Handle ID */
|
||||
LOS_DL_LIST muxList; /**< Mutex linked list */
|
||||
LosTaskCB *owner; /**< The current thread that is locking a mutex */
|
||||
#if (LOSCFG_MUTEX_CREATE_TRACE == 1)
|
||||
UINTPTR createInfo; /**< Return address of the caller */
|
||||
#endif
|
||||
UINT16 priority; /**< Priority of the thread that is locking a mutex */
|
||||
} LosMuxCB;
|
||||
|
||||
@@ -351,6 +353,13 @@ extern UINT32 OsMuxInit(VOID);
|
||||
*/
|
||||
#define GET_MUX_LIST(ptr) LOS_DL_LIST_ENTRY(ptr, LosMuxCB, muxList)
|
||||
|
||||
#if (LOSCFG_MUTEX_CREATE_TRACE == 1)
|
||||
STATIC INLINE VOID OsSetMutexCreateInfo(LosMuxCB *mux, UINTPTR val)
|
||||
{
|
||||
mux->createInfo = val;
|
||||
}
|
||||
#endif /* LOSCFG_MUTEX_CREATE_TRACE == 1 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
#if __cplusplus
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
#include "los_memory.h"
|
||||
#include "los_sched.h"
|
||||
|
||||
|
||||
#if (LOSCFG_BASE_IPC_MUX == 1)
|
||||
|
||||
LITE_OS_SEC_BSS LosMuxCB* g_allMux = NULL;
|
||||
@@ -71,6 +70,9 @@ LITE_OS_SEC_TEXT_INIT UINT32 OsMuxInit(VOID)
|
||||
muxNode->muxID = index;
|
||||
muxNode->owner = (LosTaskCB *)NULL;
|
||||
muxNode->muxStat = OS_MUX_UNUSED;
|
||||
#if (LOSCFG_MUTEX_CREATE_TRACE == 1)
|
||||
muxNode->createInfo = 0;
|
||||
#endif
|
||||
LOS_ListTailInsert(&g_unusedMuxList, &muxNode->muxList);
|
||||
}
|
||||
return LOS_OK;
|
||||
@@ -149,7 +151,9 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_MuxDelete(UINT32 muxHandle)
|
||||
|
||||
LOS_ListAdd(&g_unusedMuxList, &muxDeleted->muxList);
|
||||
muxDeleted->muxStat = OS_MUX_UNUSED;
|
||||
|
||||
#if (LOSCFG_MUTEX_CREATE_TRACE == 1)
|
||||
muxDeleted->createInfo = 0;
|
||||
#endif
|
||||
LOS_IntRestore(intSave);
|
||||
|
||||
OsHookCall(LOS_HOOK_TYPE_MUX_DELETE, muxDeleted);
|
||||
@@ -320,5 +324,5 @@ LITE_OS_SEC_TEXT UINT32 LOS_MuxPost(UINT32 muxHandle)
|
||||
|
||||
return LOS_OK;
|
||||
}
|
||||
#endif /* (LOSCFG_BASE_IPC_MUX == 1) */
|
||||
|
||||
#endif /* (LOSCFG_BASE_IPC_MUX == 1) */
|
||||
|
||||
Reference in New Issue
Block a user