1.add an API of finding the first user task in xiuos task manage list; 2.add restart application after ota

This commit is contained in:
Wang_Weigen
2021-11-10 17:31:39 +08:00
parent f3d527cf70
commit eb14677832
11 changed files with 86 additions and 4 deletions

View File

@@ -79,6 +79,11 @@ int PrivTaskStartup(pthread_t *thread)
{
return 0;
}
/* private API of xiuos to search the first user task in manage list */
int PrivUserTaskSearch(void)
{
return UserTaskSearch();
}
int PrivTaskDelete(pthread_t thread, int sig)
{

View File

@@ -171,6 +171,7 @@ int PrivTaskStartup(pthread_t *thread);
int PrivTaskDelete(pthread_t thread, int sig);
void PrivTaskQuit(void *value_ptr);
int PrivTaskDelay(int32_t ms);
int PrivUserTaskSearch(void);
/*********************driver*************************/

View File

@@ -99,6 +99,7 @@ int pthread_setcanceltype(int type, int *oldtype)
int pthread_kill(pthread_t thread, int sig)
{
/* This api should not be used, and will not be supported */
UserTaskDelete(thread);
return -1;
}

View File

@@ -60,6 +60,7 @@ int32_t UserTaskCreate(UtaskType utask);
long UserTaskStartup(int32_t id);
long UserTaskDelete(int32_t id);
long UserTaskSearch(void);
void UserTaskQuit(void);
long UserTaskDelay(int32_t ms);
long UserGetTaskName(int32_t id ,char *name);
@@ -185,6 +186,7 @@ int32_t UserTaskCreate(UtaskType utask);
#define UserTaskDelete KTaskDelete
#define UserTaskQuit KTaskQuit
#define UserTaskDelay MdelayKTask
#define UserTaskSearch UTaskSearch
long UserGetTaskName(int32_t id ,char *name);
int32_t UserGetTaskID(void);

View File

@@ -60,6 +60,17 @@ x_err_t UserTaskDelete(int32_t id){
return (x_err_t)KSwitch1(KS_USER_TASK_DELETE,(uintptr_t)id);
}
/**
* This function will find the first user task in task manage list.
*
* @param
*
* @return task id on success; EINVALED on failure
*/
x_err_t UserTaskSearch(void){
return KSwitch0(KS_USER_TASK_SEARCH);
}
void UserTaskQuit(void){
KSwitch0(KS_USER_TASK_EXECEXIT);
return ;