It is intended to wrap functions which can fail with EINTR (which we
have a surprising number of). It is inspired by the TEMP_FAILURE_RETRY
macro in glibc, but I've c++-ified it and made it more generic (by
specifying an explicit fail value), so it can also be used for functions
like fopen(3).
Details
Details
- Reviewers
zturner eugene krytarowski - Commits
- rGc1a6b128c710: Use llvm::sys::RetryAfterSignal instead of a manual while errno!=EINTR loop
rLLDB307009: Use llvm::sys::RetryAfterSignal instead of a manual while errno!=EINTR loop
rL307009: Use llvm::sys::RetryAfterSignal instead of a manual while errno!=EINTR loop
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
include/lldb/Host/Host.h | ||
---|---|---|
252 ↗ | (On Diff #101212) | Will this build on Windows for their native API? If so, will it be useful there? |
include/lldb/Host/Host.h | ||
---|---|---|
252 ↗ | (On Diff #101212) | It will build, although it will probably be a no-op. Some windows apis (i guess just the posix-compatibility ones) use errno, although I don't know if they can actually fail with EINTR. It's still useful in generic code, as some of those apis are used in shared code. |