[Lldb-commits] [PATCH] D59606: [lldb] Add missing EINTR handling

Michał Górny via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Mar 21 04:01:22 PDT 2019

mgorny marked 3 inline comments as done.
mgorny added inline comments.

Comment at: lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp:255-258
+        llvm::sys::RetryAfterSignal(-1, ::cfsetospeed,
+            &options, B115200);
+        llvm::sys::RetryAfterSignal(-1, ::cfsetispeed,
+            &options, B115200);
labath wrote:
> mgorny wrote:
> > labath wrote:
> > > IIUC, these only manipulate the `options` struct, so I don't see how they could fail with EINTR. OTOH, the `tcsetattr` call below is documented to return EINTR at least on NetBSD <http://netbsd.gw.com/cgi-bin/man-cgi?cfsetospeed+3+NetBSD-current>.
> > Yeah, that's why I covered it, though it looks surprising to me as well. But looking at the code, it can't happen really, so I'll just revert this.
> I think we misunderstood each other. My expectation would be that these two calls don't need EINTR protection, but the tcsetattr call (line 267) does.
I'm not sure if it can happen with `TCSANOW` but I guess better safe than sorry.



More information about the lldb-commits mailing list