⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hi_thread.c

📁 华为 HI3510 BOOTLOADER HIBOOT 源码包
💻 C
字号:
/******************************************************************************  Copyright (C), 2001-2011, Hisilicon Tech. Co., Ltd. ******************************************************************************  File Name     : hi_thread.c  Version       : Initial Draft  Author        : Hisilicon multimedia software group  Created       : 2005/7/13  Last Modified :  Description   : Hi Thread  Function List :  History       :  1.Date        : 2005/7/13    Author      : T41030    Modification: Created file******************************************************************************/#include <sys/time.h>#include <time.h>#include <pthread.h>#include "hi.h"#include "hi_thread.h"#include "hi_message.h"/*** Mutex Port Begin **/INT32 hi_thread_mutex_init(HI_THREAD_MUTEX* pMutex, HI_THREAD_MUTEXATTR* pMutexattr){    return (pthread_mutex_init(pMutex, pMutexattr));}INT32 hi_thread_mutex_lock(HI_THREAD_MUTEX* pMutex){    return (pthread_mutex_lock(pMutex));}INT32 hi_thread_mutex_trylock(HI_THREAD_MUTEX* pMutex){    return (pthread_mutex_trylock(pMutex));}INT32 hi_thread_mutex_unlock(HI_THREAD_MUTEX* pMutex){    return (pthread_mutex_unlock(pMutex));}INT32 hi_thread_mutex_destroy(HI_THREAD_MUTEX* pMutex){    return (pthread_mutex_destroy(pMutex));}INT32 hi_thread_cond_wait(HI_THREAD_COND* pCond, HI_THREAD_MUTEX *pMutex, U32 msecs){    struct timeval now;    struct timespec timeout;        if (msecs == 0)    {        return pthread_cond_wait(pCond, pMutex);    }    else    {        gettimeofday(&now, NULL);        timeout.tv_sec = now.tv_sec;        timeout.tv_nsec = ( now.tv_usec + (msecs * 1000 )) * 1000;        return pthread_cond_timedwait(pCond, pMutex, &timeout);    }        }/*** Mutex Port END **/INT32 hi_thread_join(HI_THREAD_S *pThread, void **thread_return){    return (pthread_join(pThread->threadid, thread_return));}INT32 hi_thread_create(HI_THREAD_S *pThread,const pthread_attr_t*__attr,                      void*__arg){    if (NULL == pThread)    {        WRITE_LOG_ERROR("No routine to be run for create thread. \n");                return HI_FAILURE;    }    if (NULL == pThread->pf_run)    {        WRITE_LOG_ERROR("No routine to be run for create thread. \n");        return HI_FAILURE;    }    if (0 == pthread_create(&(pThread->threadid), __attr, pThread->pf_run, __arg))    {        return HI_SUCCESS;    }    else    {        return HI_FAILURE;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -