diff --git a/src/tools/ebuspicloader.cpp b/src/tools/ebuspicloader.cpp index 2cb573b8..1d1ef6ac 100644 --- a/src/tools/ebuspicloader.cpp +++ b/src/tools/ebuspicloader.cpp @@ -568,23 +568,28 @@ int openSerial(std::string port) { return -1; } - // backup terminal settings - if (tcgetattr(fd, &termios_original)!=0) { - memset(&termios_original, 0, sizeof(termios_original)); + if (flock(fd, LOCK_EX|LOCK_NB)) { + close(fd); + std::cerr<<"unable to lock "<