From e4b5d4ebe9677d49d490fe74e5ac33c4a29435a2 Mon Sep 17 00:00:00 2001 From: arvinzzz Date: Sat, 29 May 2021 09:53:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dtimer=5Fsettime?= =?UTF-8?q?=E5=8F=AA=E8=AE=BE=E7=BD=AE=E7=AC=AC=E4=B8=80=E6=AC=A1=E5=88=B0?= =?UTF-8?q?=E6=9C=9F=E6=97=B6=E9=97=B4=E6=97=B6=EF=BC=8C=E5=88=B0=E6=9C=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=8D=E5=87=86=E7=9A=84=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=20close:=20#I3TCHA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie5c2ab74a8cbbd86dce913b53ae791f8f2da5133 Signed-off-by: arvinzzz --- kal/posix/src/time.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kal/posix/src/time.c b/kal/posix/src/time.c index 838be5a1..a5029cd5 100644 --- a/kal/posix/src/time.c +++ b/kal/posix/src/time.c @@ -188,7 +188,12 @@ int timer_settime(timer_t timerID, int flags, intSave = LOS_IntLock(); swtmr = OS_SWT_FROM_SID(swtmrID); swtmr->ucMode = (interval ? LOS_SWTMR_MODE_PERIOD : LOS_SWTMR_MODE_NO_SELFDELETE); - swtmr->uwInterval = interval; + if (interval) { + swtmr->uwInterval = interval; + } else { + swtmr->uwInterval = expiry; + } + LOS_IntRestore(intSave); if ((value->it_value.tv_sec == 0) && (value->it_value.tv_nsec == 0)) { From 369320de3710486f252c55c522e8c06e19541b77 Mon Sep 17 00:00:00 2001 From: arvinzzz Date: Wed, 2 Jun 2021 10:28:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4hook=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E5=92=8C=E4=BD=8D=E7=BD=AE=EF=BC=8C=E6=96=B9=E4=BE=BF?= =?UTF-8?q?=E8=B0=83=E8=AF=95=20close:=20#I3TGZS=20Change-Id:=20Idba021ec7?= =?UTF-8?q?595d2f25a23102b6610e0f29cdd1209=20Signed-off-by:=20arvinzzz=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I9f1f745c6389de8bd8ca589bd1a3dc5311962527 --- kernel/src/los_event.c | 4 ++-- kernel/src/mm/los_memory.c | 4 ++-- utils/internal/los_hook_types.h | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/src/los_event.c b/kernel/src/los_event.c index d383af17..d2e5520c 100644 --- a/kernel/src/los_event.c +++ b/kernel/src/los_event.c @@ -43,7 +43,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_EventInit(PEVENT_CB_S eventCB) } eventCB->uwEventID = 0; LOS_ListInit(&eventCB->stEventList); - OsHookCall(LOS_HOOK_TYPE_EVENT_INIT); + OsHookCall(LOS_HOOK_TYPE_EVENT_INIT, eventCB); return LOS_OK; } @@ -201,7 +201,7 @@ LITE_OS_SEC_TEXT_INIT UINT32 LOS_EventDestroy(PEVENT_CB_S eventCB) eventCB->stEventList.pstNext = (LOS_DL_LIST *)NULL; eventCB->stEventList.pstPrev = (LOS_DL_LIST *)NULL; LOS_IntRestore(intSave); - OsHookCall(LOS_HOOK_TYPE_EVENT_DESTROY); + OsHookCall(LOS_HOOK_TYPE_EVENT_DESTROY, eventCB); return LOS_OK; } LITE_OS_SEC_TEXT_MINOR UINT32 LOS_EventClear(PEVENT_CB_S eventCB, UINT32 eventMask) diff --git a/kernel/src/mm/los_memory.c b/kernel/src/mm/los_memory.c index 7520ffc5..911ac6ee 100644 --- a/kernel/src/mm/los_memory.c +++ b/kernel/src/mm/los_memory.c @@ -1286,6 +1286,8 @@ UINT32 LOS_MemFree(VOID *pool, VOID *ptr) return LOS_NOK; } + OsHookCall(LOS_HOOK_TYPE_MEM_FREE, pool, ptr); + UINT32 ret = LOS_NOK; struct OsMemPoolHead *poolHead = (struct OsMemPoolHead *)pool; struct OsMemNodeHead *node = NULL; @@ -1308,8 +1310,6 @@ UINT32 LOS_MemFree(VOID *pool, VOID *ptr) LOS_Trace(LOS_TRACE_MEM_TIME, (UINTPTR)pool & MEM_POOL_ADDR_MASK, MEM_TRACE_FREE, timeUsed); #endif - OsHookCall(LOS_HOOK_TYPE_MEM_FREE, pool, ptr); - return ret; } diff --git a/utils/internal/los_hook_types.h b/utils/internal/los_hook_types.h index ca4760d4..999c90cf 100644 --- a/utils/internal/los_hook_types.h +++ b/utils/internal/los_hook_types.h @@ -57,11 +57,11 @@ extern "C" { LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_MEM_REALLOC, (VOID *pool, VOID *ptr, UINT32 size)) \ LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_MEM_ALLOCALIGN, (VOID *pool, UINT32 size, UINT32 boundary)) \ /* Hook types supported by event modules */ \ - LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_INIT, (VOID)) \ + LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_INIT, (PEVENT_CB_S eventCB)) \ LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_READ, (PEVENT_CB_S eventCB, UINT32 eventMask, UINT32 mode)) \ LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_WRITE, (PEVENT_CB_S eventCB)) \ LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_CLEAR, (PEVENT_CB_S eventCB)) \ - LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_DESTROY, (VOID)) \ + LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_EVENT_DESTROY, (PEVENT_CB_S eventCB)) \ /* Hook types supported by queue modules */ \ LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_QUEUE_CREATE, (const LosQueueCB *queueCB)) \ LOS_HOOK_TYPE_DEF(LOS_HOOK_TYPE_QUEUE_READ, (const LosQueueCB *queueCB)) \