Index: native_client_sdk/src/libraries/utils/ref_object.h |
=================================================================== |
--- native_client_sdk/src/libraries/utils/ref_object.h (revision 204979) |
+++ native_client_sdk/src/libraries/utils/ref_object.h (working copy) |
@@ -1,48 +0,0 @@ |
-/* Copyright (c) 2012 The Chromium Authors. All rights reserved. |
- * Use of this source code is governed by a BSD-style license that can be |
- * found in the LICENSE file. |
- */ |
- |
-#ifndef LIBRARIES_UTILS_REF_OBJECT |
-#define LIBRARIES_UTILS_REF_OBJECT |
- |
-#include <stdlib.h> |
-#include "pthread.h" |
- |
-class RefObject { |
- public: |
- RefObject() { |
- ref_count_ = 1; |
- pthread_mutex_init(&lock_, NULL); |
- } |
- |
- int RefCount() const { return ref_count_; } |
- |
- void Acquire() { |
- ref_count_++; |
- } |
- |
- bool Release() { |
- if (--ref_count_ == 0) { |
- Destroy(); |
- delete this; |
- return false; |
- } |
- return true; |
- } |
- |
- protected: |
- virtual ~RefObject() { |
- pthread_mutex_destroy(&lock_); |
- } |
- |
- // Override to clean up object when last reference is released. |
- virtual void Destroy() {} |
- |
- pthread_mutex_t lock_; |
- |
- private: |
- int ref_count_; |
-}; |
- |
-#endif // LIBRARIES_UTILS_REF_OBJECT |