22 #include <sbuild/sbuild-lock.h>
23 #include <sbuild/sbuild-custom-error.h>
77 unsigned int timeout) = 0;
117 set_timer (
struct itimerval
const& timer);
152 unsigned int timeout);
164 #ifdef SBUILD_FEATURE_DEVLOCK
186 unsigned int timeout);
197 #endif // SBUILD_FEATURE_DEVLOCK
A shared (read) lock.
Definition: sbuild-lock.h:44
Failed to lock file (timed out).
Definition: sbuild-lock.h:57
struct sigaction saved_signals
Signals saved during timeout.
Definition: sbuild-lock.h:130
Failed to unlock device (timed out)
Definition: sbuild-lock.h:63
virtual void set_lock(lock::type lock_type, unsigned int timeout)
Acquire a lock.
Definition: sbuild-lock.cc:267
Failed to unlock file.
Definition: sbuild-lock.h:56
void unset_timer()
Remove any itimer currently set up.
Definition: sbuild-lock.cc:140
virtual void unset_lock()
Release a lock.
Definition: sbuild-lock.cc:236
No lock.
Definition: sbuild-lock.h:46
virtual void unset_lock()=0
Release a lock.
Failed to lock device.
Definition: sbuild-lock.h:59
void set_timer(struct itimerval const &timer)
Set up an itimer for future expiry.
Definition: sbuild-lock.cc:128
File lock.
Definition: sbuild-lock.h:137
Advisory locking.
Definition: sbuild-lock.h:38
virtual ~device_lock()
The destructor.
Definition: sbuild-lock.cc:255
An exclusive (write) lock.
Definition: sbuild-lock.h:45
custom_error< error_code > error
Exception type.
Definition: sbuild-lock.h:67
error_code
Error codes.
Definition: sbuild-lock.h:50
Failed to unlock device.
Definition: sbuild-lock.h:62
bool locked
Is the file locked?
Definition: sbuild-lock.h:195
virtual void set_lock(type lock_type, unsigned int timeout)=0
Acquire a lock.
int fd
The file descriptor to lock.
Definition: sbuild-lock.h:159
bool locked
Is the file locked?
Definition: sbuild-lock.h:161
virtual void unset_lock()
Release a lock.
Definition: sbuild-lock.cc:345
Custom error.
Definition: sbuild-custom-error.h:32
device_lock(std::string const &device)
The constructor.
Definition: sbuild-lock.cc:248
Failed to set timeout.
Definition: sbuild-lock.h:53
Failed to cancel timeout.
Definition: sbuild-lock.h:54
Failed to set timeout handler.
Definition: sbuild-lock.h:52
virtual ~lock()
The destructor.
Definition: sbuild-lock.cc:104
void set_alarm()
Set the SIGALARM handler.
Definition: sbuild-lock.cc:109
std::string device
The device to lock.
Definition: sbuild-lock.h:193
virtual void set_lock(lock::type lock_type, unsigned int timeout)
Acquire a lock.
Definition: sbuild-lock.cc:182
file_lock(int fd)
The constructor.
Definition: sbuild-lock.cc:155
virtual ~file_lock()
The destructor.
Definition: sbuild-lock.cc:162
Failed to test device lock.
Definition: sbuild-lock.h:61
void clear_alarm()
Restore the state of SIGALRM prior to starting lock acquisition.
Definition: sbuild-lock.cc:121
Failed to lock device (timed out).
Definition: sbuild-lock.h:60
lock()
The constructor.
Definition: sbuild-lock.cc:99
Failed to unlock file (timed out).
Definition: sbuild-lock.h:58
Failed to lock file.
Definition: sbuild-lock.h:55
type
Lock type.
Definition: sbuild-lock.h:42
Device lock.
Definition: sbuild-lock.h:171