@@ -27,31 +27,42 @@ * @brief An exception indicating that locking a lock failed. */ @interface OFLockFailedException: OFException { id _lock; + int _errNo; } /*! * @brief The lock which could not be locked. */ @property OF_NULLABLE_PROPERTY (readonly, nonatomic) id lock; +/*! + * @brief The errno of the error that occurred. + */ +@property (readonly, nonatomic) int errNo; + /*! * @brief Creates a new, autoreleased lock failed exception. * * @param lock The lock which could not be locked + * @param errNo The errno of the error that occurred * @return A new, autoreleased lock failed exception */ -+ (instancetype)exceptionWithLock: (nullable id )lock; ++ (instancetype)exceptionWithLock: (nullable id )lock + errNo: (int)errNo; /*! * @brief Initializes an already allocated lock failed exception. * * @param lock The lock which could not be locked + * @param errNo The errno of the error that occurred * @return An initialized lock failed exception */ - (instancetype)initWithLock: (nullable id )lock - OF_DESIGNATED_INITIALIZER; + errNo: (int)errNo OF_DESIGNATED_INITIALIZER; + +- (instancetype)init OF_UNAVAILABLE; @end OF_ASSUME_NONNULL_END