/usr/include/CLucene/store/Lock.h is in libclucene-dev 2.3.3.4-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | /*------------------------------------------------------------------------------
* Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team
*
* Distributable under the terms of either the Apache License (Version 2.0) or
* the GNU Lesser General Public License, as specified in the COPYING file.
------------------------------------------------------------------------------*/
#ifndef _lucene_store_Lock_
#define _lucene_store_Lock_
#include <limits.h>
#include "CLucene/util/Equators.h"
CL_NS_DEF(store)
class LocksType;
class CLUCENE_EXPORT LuceneLock: public CL_NS(util)::NamedObject{
public:
LUCENE_STATIC_CONSTANT(int64_t, LOCK_POLL_INTERVAL = 1000);
LUCENE_STATIC_CONSTANT(int64_t, LOCK_OBTAIN_WAIT_FOREVER = -1);
/** Attempts to obtain exclusive access and immediately return
* upon success or failure.
* @return true iff exclusive access is obtained
*/
virtual bool obtain() = 0;
/** Attempts to obtain an exclusive lock within amount
* of time given. Currently polls once per second until
* lockWaitTimeout is passed.
* @param lockWaitTimeout length of time to wait in ms
* @return true if lock was obtained
* @throws IOException if lock wait times out or obtain() throws an IOException
*/
bool obtain(int64_t lockWaitTimeout);
// Release exclusive access.
virtual void release() = 0;
/** Returns true if the resource is currently locked. Note that one must
* still call {@link #obtain()} before using the resource. */
virtual bool isLocked() = 0;
virtual ~LuceneLock();
virtual std::string toString() = 0;
};
CL_NS_END
#endif
|