• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • kdecore
 

kdecore

Public Types | Public Member Functions | List of all members
KLockFile Class Reference

#include <klockfile.h>

Inheritance diagram for KLockFile:
KShared

Public Types

enum  LockResult { LockOK = 0 , LockFail , LockError , LockStale }
 
enum  LockOptions { LockNoBlock = 1 , LockForce = 2 }
 
typedef KSharedPtr< KLockFile > Ptr
 

Public Member Functions

 KLockFile (const TQString &file)
 
 ~KLockFile ()
 
LockResult lock (int options=0)
 
bool isLocked () const
 
void unlock ()
 
int staleTime () const
 
void setStaleTime (int _staleTime)
 
bool getLockInfo (int &pid, TQString &hostname, TQString &appname)
 
- Public Member Functions inherited from KShared
 KShared ()
 
 KShared (const KShared &)
 
KShared & operator= (const KShared &)
 
void _KShared_ref () const
 
void _KShared_unref () const
 
int _KShared_count () const
 

Detailed Description

The KLockFile class provides NFS safe lockfiles.

Author
Waldo Bastian basti.nosp@m.an@k.nosp@m.de.or.nosp@m.g
Since
3.3

Definition at line 33 of file klockfile.h.

Member Enumeration Documentation

◆ LockOptions

enum KLockFile::LockOptions
Enumerator
LockNoBlock 

Return immediately, do not wait for the lock to become available.

LockForce 

Automatically remove a lock when a lock is detected that is stale for more than staleTime() seconds.

Definition at line 70 of file klockfile.h.

◆ LockResult

enum KLockFile::LockResult

Possible return values of the lock function.

Enumerator
LockOK 

Lock was acquired successfully.

LockFail 

The lock could not be acquired because it is held by another process.

LockError 

The lock could not be acquired due to an error.

LockStale 

A stale lock has been detected.

Definition at line 48 of file klockfile.h.

Constructor & Destructor Documentation

◆ ~KLockFile()

KLockFile::~KLockFile ( )

Destroys the object, releasing the lock if held.

Definition at line 75 of file klockfile.cpp.

Member Function Documentation

◆ getLockInfo()

bool KLockFile::getLockInfo ( int &  pid,
TQString &  hostname,
TQString &  appname 
)

Returns the pid, hostname and appname of the process holding the lock after the lock functon has returned with LockStale.

Returns
false if the pid and hostname could not be determined

Definition at line 368 of file klockfile.cpp.

◆ isLocked()

bool KLockFile::isLocked ( ) const

Returns whether the lock is held or not.

Definition at line 354 of file klockfile.cpp.

◆ lock()

KLockFile::LockResult KLockFile::lock ( int  options = 0)

Attempt to acquire the lock.

Parameters
optionsA set of LockOptions OR'ed together.

Definition at line 240 of file klockfile.cpp.

◆ setStaleTime()

void KLockFile::setStaleTime ( int  _staleTime)

Set the time in seconds after which a lock is considered stale.

Definition at line 89 of file klockfile.cpp.

◆ staleTime()

int KLockFile::staleTime ( ) const

Return the time in seconds after which a lock is considered stale The default is 30.

Definition at line 82 of file klockfile.cpp.

◆ unlock()

void KLockFile::unlock ( )

Release the lock.

Definition at line 359 of file klockfile.cpp.


The documentation for this class was generated from the following files:
  • klockfile.h
  • klockfile.cpp

kdecore

Skip menu "kdecore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdecore

Skip menu "kdecore"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kdecore by doxygen 1.9.1
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |