merge from master #143

Merged
Livox-SDK merged 5 commits from master into cancle_heartbeat_timeout 2021-09-06 04:56:29 +02:00
Showing only changes of commit 9306596a2b - Show all commits
+28 -15
View File
@@ -67,30 +67,43 @@ bool WakeUpPipe::PipeDestroy() {
} }
bool WakeUpPipe::PipeCreate() { bool WakeUpPipe::PipeCreate() {
bool status = false;
//in filedes[0] //in filedes[0]
//out filedes[1] //out filedes[1]
int filedes[2]; int filedes[2]= {};
if (pipe(filedes) == -1) { if (pipe(filedes) == -1) {
return false; return false;
} }
do {
int flags = 0;
if ((flags = fcntl(filedes[0], F_GETFD)) == -1) {
break;
}
int flags = 0; flags |= FD_CLOEXEC;
if ((flags = fcntl(filedes[0], F_GETFL|O_NONBLOCK)) == -1) { if (fcntl(filedes[0], F_SETFD, flags) == -1) {
return false; break;
} }
flags |= FD_CLOEXEC; flags = 0;
if (fcntl(filedes[0], F_SETFL, flags) == -1) { if ((flags = fcntl(filedes[1], F_GETFD)) == -1) {
return false; break;
} }
flags = 0; flags |= FD_CLOEXEC;
if ((flags = fcntl(filedes[1], F_GETFD)) == -1) { if (fcntl(filedes[1], F_SETFD, flags) == -1) {
return false; break;
} }
status = true;
} while(0);
flags |= FD_CLOEXEC; if (!status) {
if (fcntl(filedes[1], F_SETFD, flags) == -1) { if (filedes[0] > 0) {
close(filedes[0]);
}
if (filedes[1] > 0) {
close(filedes[1]);
}
return false; return false;
} }
pipe_out_ = filedes[0]; pipe_out_ = filedes[0];