commit
2a73894de0
|
@ -347,14 +347,15 @@ ssize_t read(int fd, void *buf, size_t nbyte)
|
|||
return recv(fd, buf, nbyte, 0);
|
||||
}
|
||||
#endif
|
||||
if (g_fs->fsFops == NULL || g_fs->fsFops->Read == NULL) {
|
||||
errno = ENOSYS;
|
||||
return FS_FAILURE;
|
||||
}
|
||||
if (g_fs == NULL) {
|
||||
errno = ENODEV;
|
||||
return FS_FAILURE;
|
||||
}
|
||||
if (g_fs->fsFops == NULL || g_fs->fsFops->Read == NULL) {
|
||||
errno = ENOSYS;
|
||||
return FS_FAILURE;
|
||||
}
|
||||
|
||||
return g_fs->fsFops->Read(fd, buf, nbyte);
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,6 @@ LITE_OS_SEC_TEXT_MINOR STATIC VOID OsShellCmdTskInfoData(const LosTaskCB *allTas
|
|||
{
|
||||
const LosTaskCB *taskCB = NULL;
|
||||
UINT32 loop;
|
||||
UINT32 semId;
|
||||
|
||||
for (loop = 0; loop < g_taskMaxNum; ++loop) {
|
||||
taskCB = allTaskArray + loop;
|
||||
|
@ -97,12 +96,10 @@ LITE_OS_SEC_TEXT_MINOR STATIC VOID OsShellCmdTskInfoData(const LosTaskCB *allTas
|
|||
continue;
|
||||
}
|
||||
|
||||
semId = OsGetSemID(taskCB);
|
||||
|
||||
PRINTK("%-23s%-20p0x%-5x", taskCB->taskName, taskCB->taskEntry, taskCB->taskID);
|
||||
PRINTK("%-11u%-13s0x%-11x 0x%-8x 0x%-10x ", taskCB->priority,
|
||||
OsShellCmdConvertTskStatus(taskCB->taskStatus), taskCB->stackSize,
|
||||
taskCB->stackPointer, taskCB->topOfStack, semId);
|
||||
taskCB->stackPointer, taskCB->topOfStack);
|
||||
PRINTK("\n");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -276,6 +276,7 @@ int OsShellCmdCat(int argc, const char **argv)
|
|||
|
||||
if (fd == -1) {
|
||||
ret = -1;
|
||||
free(fullpath);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
|
||||
#define OS_SYS_NS_PER_MSECOND 1000000
|
||||
#define OS_SYS_NS_PER_SECOND 1000000000
|
||||
#define OS_UINT_MAX (~0U)
|
||||
|
||||
static inline int MapError(UINT32 err)
|
||||
{
|
||||
|
@ -99,8 +100,7 @@ int pthread_mutex_destroy(pthread_mutex_t *mutex)
|
|||
int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *absTimeout)
|
||||
{
|
||||
UINT32 ret;
|
||||
UINT32 timeout;
|
||||
UINT64 timeoutNs;
|
||||
INT64 timeoutMs;
|
||||
struct timespec curTime = {0};
|
||||
if ((mutex->magic != _MUX_MAGIC) || (absTimeout->tv_nsec < 0) || (absTimeout->tv_nsec >= OS_SYS_NS_PER_SECOND)) {
|
||||
return EINVAL;
|
||||
|
@ -115,12 +115,13 @@ int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *absTi
|
|||
if (ret != LOS_OK) {
|
||||
return EINVAL;
|
||||
}
|
||||
timeoutNs = (absTimeout->tv_sec - curTime.tv_sec) * OS_SYS_NS_PER_SECOND + (absTimeout->tv_nsec - curTime.tv_nsec);
|
||||
if (timeoutNs <= 0) {
|
||||
return ETIMEDOUT;
|
||||
timeoutMs = (absTimeout->tv_sec - curTime.tv_sec) * OS_SYS_MS_PER_SECOND +
|
||||
(absTimeout->tv_nsec - curTime.tv_nsec) / OS_SYS_NS_PER_MSECOND;
|
||||
if (timeoutMs < 0 || timeoutMs >= OS_UINT_MAX) {
|
||||
return EINVAL;
|
||||
}
|
||||
timeout = (timeoutNs + (OS_SYS_NS_PER_MSECOND - 1)) / OS_SYS_NS_PER_MSECOND;
|
||||
ret = LOS_MuxPend(mutex->handle, timeout);
|
||||
|
||||
ret = LOS_MuxPend(mutex->handle, (UINT32)timeoutMs);
|
||||
return MapError(ret);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue