summaryrefslogtreecommitdiff
path: root/kaldi_io/src/tools/openfst/include/fst/lock.h
diff options
context:
space:
mode:
Diffstat (limited to 'kaldi_io/src/tools/openfst/include/fst/lock.h')
-rw-r--r--kaldi_io/src/tools/openfst/include/fst/lock.h100
1 files changed, 0 insertions, 100 deletions
diff --git a/kaldi_io/src/tools/openfst/include/fst/lock.h b/kaldi_io/src/tools/openfst/include/fst/lock.h
deleted file mode 100644
index 58cb22a..0000000
--- a/kaldi_io/src/tools/openfst/include/fst/lock.h
+++ /dev/null
@@ -1,100 +0,0 @@
-// lock.h
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
-// Author: riley@google.com (Michael Riley)
-//
-// \file
-// Google-compatibility locking declarations and inline definitions
-//
-// Classes and functions here are no-ops (by design); proper locking requires
-// actual implementation.
-
-#ifndef FST_LIB_LOCK_H__
-#define FST_LIB_LOCK_H__
-
-#include <fst/compat.h> // for DISALLOW_COPY_AND_ASSIGN
-
-namespace fst {
-
-using namespace std;
-
-//
-// Single initialization - single-thread implementation
-//
-
-typedef int FstOnceType;
-
-static const int FST_ONCE_INIT = 1;
-
-inline int FstOnceInit(FstOnceType *once, void (*init)(void)) {
- if (*once)
- (*init)();
- *once = 0;
- return 0;
-}
-
-//
-// Thread locking - single-thread (non-)implementation
-//
-
-class Mutex {
- public:
- Mutex() {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(Mutex);
-};
-
-class MutexLock {
- public:
- MutexLock(Mutex *) {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(MutexLock);
-};
-
-class ReaderMutexLock {
- public:
- ReaderMutexLock(Mutex *) {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ReaderMutexLock);
-};
-
-// Reference counting - single-thread implementation
-class RefCounter {
- public:
- RefCounter() : count_(1) {}
-
- int count() const { return count_; }
-
-// below lines are modifications of openfst for multi-thrads support,
-// from tools/extras/openfst_gcc41up.patch, applied by tools/Makefile,
-// applicable to gcc 4.1 or above
- // int Incr() const { return ++count_; }
- // int Decr() const { return --count_; }
-
- int Incr() const { return __sync_add_and_fetch(&count_, 1); }
- int Decr() const { return __sync_sub_and_fetch(&count_, 1); }
-// end modifications
-
- private:
- mutable int count_;
-
- DISALLOW_COPY_AND_ASSIGN(RefCounter);
-};
-
-} // namespace fst
-
-#endif // FST_LIB_LOCK_H__