virtual OSStatus osStatus() const = 0;
virtual int unixError() const = 0;
+
+ char whatBuffer[128];
+ const size_t whatBufferSize = sizeof(whatBuffer);
+
+ static void LogBacktrace();
};
class UnixError : public CommonError {
protected:
UnixError();
- UnixError(int err);
+ UnixError(int err, bool suppresslogging);
public:
const int error;
virtual OSStatus osStatus() const;
static void check(int result) { if (result == -1) throwMe(); }
static void throwMe(int err = errno) __attribute__((noreturn));
+ static void throwMeNoLogging(int err = errno) __attribute__((noreturn));
// @@@ This is a hack for the Network protocol state machine
static UnixError make(int err = errno) DEPRECATED_ATTRIBUTE;