更新日期: 2022/06/01 来源: https://gitee.com/weharmony/kernel_liteos_a_note
los_ipcdebug_pri.h 文件参考

浏览源代码.

结构体

struct  IpcSortParam
 

类型定义

typedef BOOL(* OsCompareFunc) (const IpcSortParam *sortParam, UINT32 left, UINT32 right)
 

函数

VOID OsArraySortByTime (UINT32 *sortArray, UINT32 start, UINT32 end, const IpcSortParam *sortParam, OsCompareFunc compareFunc)
 

类型定义说明

◆ OsCompareFunc

typedef BOOL(* OsCompareFunc) (const IpcSortParam *sortParam, UINT32 left, UINT32 right)

在文件 los_ipcdebug_pri.h51 行定义.

函数说明

◆ OsArraySortByTime()

VOID OsArraySortByTime ( UINT32 sortArray,
UINT32  start,
UINT32  end,
const IpcSortParam sortParam,
OsCompareFunc  compareFunc 
)

在文件 los_ipcdebug.c37 行定义.

39{
40 UINT32 left = start;
41 UINT32 right = end;
42 UINT32 idx = start;
43 UINT32 pivot = sortArray[start];
44
45 while (left < right) {
46 while ((left < right) && (sortArray[right] < sortParam->ipcDebugCBCnt) && (pivot < sortParam->ipcDebugCBCnt) &&
47 compareFunc(sortParam, sortArray[right], pivot)) {
48 right--;
49 }
50
51 if (left < right) {
52 sortArray[left] = sortArray[right];
53 idx = right;
54 left++;
55 }
56
57 while ((left < right) && (sortArray[left] < sortParam->ipcDebugCBCnt) && (pivot < sortParam->ipcDebugCBCnt) &&
58 compareFunc(sortParam, pivot, sortArray[left])) {
59 left++;
60 }
61
62 if (left < right) {
63 sortArray[right] = sortArray[left];
64 idx = left;
65 right--;
66 }
67 }
68
69 sortArray[idx] = pivot;
70
71 if (start < idx) {
72 OsArraySortByTime(sortArray, start, idx - 1, sortParam, compareFunc);
73 }
74 if (idx < end) {
75 OsArraySortByTime(sortArray, idx + 1, end, sortParam, compareFunc);
76 }
77}
VOID OsArraySortByTime(UINT32 *sortArray, UINT32 start, UINT32 end, const IpcSortParam *sortParam, OsCompareFunc compareFunc)
Definition: los_ipcdebug.c:37
unsigned int UINT32
Definition: los_typedef.h:57
size_t ipcDebugCBCnt
函数调用图:
这是这个函数的调用关系图: