|  |  |  | Camel Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
#define CAMEL_LOCK_DOT_RETRY #define CAMEL_LOCK_DOT_DELAY #define CAMEL_LOCK_DOT_STALE #define CAMEL_LOCK_RETRY #define CAMEL_LOCK_DELAY enum CamelLockType; gint camel_lock_dot (const gchar *path, CamelException *ex); gint camel_lock_fcntl (gint fd, CamelLockType type, CamelException *ex); gint camel_lock_flock (gint fd, CamelLockType type, CamelException *ex); void camel_unlock_dot (const gchar *path); void camel_unlock_fcntl (gint fd); void camel_unlock_flock (gint fd); gint camel_lock_folder (const gchar *path, gint fd, CamelLockType type, CamelException *ex); void camel_unlock_folder (const gchar *path, gint fd);
gint                camel_lock_dot                      (const gchar *path,
                                                         CamelException *ex);
Create an exclusive lock using .lock semantics. All locks are equivalent to write locks (exclusive).
| 
 | |
| 
 | |
| Returns : | -1 on error, sets exappropriately. | 
gint                camel_lock_fcntl                    (gint fd,
                                                         CamelLockType type,
                                                         CamelException *ex);
Create a lock using fcntl(2).
type is CAMEL_LOCK_WRITE or CAMEL_LOCK_READ,
to create exclusive or shared read locks
| 
 | |
| 
 | |
| 
 | |
| Returns : | -1 on error. | 
gint                camel_lock_flock                    (gint fd,
                                                         CamelLockType type,
                                                         CamelException *ex);
Create a lock using flock(2).
type is CAMEL_LOCK_WRITE or CAMEL_LOCK_READ,
to create exclusive or shared read locks
| 
 | |
| 
 | |
| 
 | |
| Returns : | -1 on error. | 
void camel_unlock_dot (const gchar *path);
Attempt to unlock a .lock lock.
| 
 | 
gint                camel_lock_folder                   (const gchar *path,
                                                         gint fd,
                                                         CamelLockType type,
                                                         CamelException *ex);
Attempt to lock a folder, multiple attempts will be made using all locking strategies available.
| 
 | Path to the file to lock (used for .locking only). | 
| 
 | Open file descriptor of the right type to lock. | 
| 
 | Type of lock, CAMEL_LOCK_READ or CAMEL_LOCK_WRITE. | 
| 
 | |
| Returns : | -1 on error, exwill describe the locking system that failed. |