diff options
| author | Sam Varshavchik | 2013-08-19 16:39:41 -0400 |
|---|---|---|
| committer | Sam Varshavchik | 2013-08-25 14:43:51 -0400 |
| commit | 9c45d9ad13fdf439d44d7443ae75da15ea0223ed (patch) | |
| tree | 7a81a04cb51efb078ee350859a64be2ebc6b8813 /maildrop/dotlock.h | |
| parent | a9520698b770168d1f33d6301463bb70a19655ec (diff) | |
| download | courier-libs-9c45d9ad13fdf439d44d7443ae75da15ea0223ed.tar.bz2 | |
Initial checkin
Imported from subversion report, converted to git. Updated all paths in
scripts and makefiles, reflecting the new directory hierarchy.
Diffstat (limited to 'maildrop/dotlock.h')
| -rw-r--r-- | maildrop/dotlock.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/maildrop/dotlock.h b/maildrop/dotlock.h new file mode 100644 index 0000000..67c22b0 --- /dev/null +++ b/maildrop/dotlock.h @@ -0,0 +1,41 @@ +#ifndef dotlock_h +#define dotlock_h + + +#include "tempfile.h" +#include "dotlockrefresh.h" + +///////////////////////////////////////////////////////////////////////////// +// +// Well, here's my attempt to do dot locking. +// +///////////////////////////////////////////////////////////////////////////// + +class DotLock : public TempFile { + + int attemptlock(const char *, const char *); + void Refreshlock(); + DotLockRefresh refresh; + void dorefresh(); + + unsigned refresh_interval; +public: + DotLock(); + ~DotLock(); + + void Lock(const char *); + void LockMailbox(const char *); + void Unlock(); + // + // Sounds simple, right? <sigh> + + friend class DotLockRefresh; + +private: +static unsigned GetLockSleep(); +static unsigned GetLockTimeout(); +static unsigned GetLockRefresh(); +static const char *GetLockExt(); + +} ; +#endif |
