!456 fix: nanosleep 接口的rmtp参数被错误清零
Merge pull request !456 from zhushengle/nanosleep
This commit is contained in:
commit
a531bcf389
|
@ -356,13 +356,18 @@ int SysNanoSleep(const struct timespec *rqtp, struct timespec *rmtp)
|
|||
{
|
||||
int ret;
|
||||
struct timespec srqtp;
|
||||
struct timespec srmtp = { 0 };
|
||||
struct timespec srmtp;
|
||||
|
||||
if (!rqtp || LOS_ArchCopyFromUser(&srqtp, rqtp, sizeof(struct timespec))) {
|
||||
errno = EFAULT;
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
if (rmtp && LOS_ArchCopyFromUser(&srmtp, rmtp, sizeof(struct timespec))) {
|
||||
errno = EFAULT;
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
ret = nanosleep(&srqtp, rmtp ? &srmtp : NULL);
|
||||
if (ret < 0) {
|
||||
return -get_errno();
|
||||
|
|
Loading…
Reference in New Issue