aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/basetypes/MCNull.cpp
diff options
context:
space:
mode:
authorGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2014-11-25 14:23:25 -0800
committerGravatar Hoa V. DINH <dinh.viet.hoa@gmail.com>2014-11-25 14:23:37 -0800
commit64bf89ebdd0584a6951b68d815a3bb5abd4cdc1d (patch)
tree694a477754c4b29421513780860593337e9b34ba /src/core/basetypes/MCNull.cpp
parent940227a204c088179b1c42f4ccc985c1bced22c4 (diff)
Implemented unit tests for C++ platforms
Diffstat (limited to 'src/core/basetypes/MCNull.cpp')
-rw-r--r--src/core/basetypes/MCNull.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/basetypes/MCNull.cpp b/src/core/basetypes/MCNull.cpp
index cdb8335f..53d50622 100644
--- a/src/core/basetypes/MCNull.cpp
+++ b/src/core/basetypes/MCNull.cpp
@@ -10,10 +10,16 @@
using namespace mailcore;
-Null * Null::null()
+static Null * s_null = NULL;
+static pthread_once_t s_once;
+
+static void init_null(void)
{
- Null * result = new Null();
- result->autorelease();
- return result;
+ s_null = new Null();
}
+Null * Null::null()
+{
+ pthread_once(&s_once, init_null);
+ return s_null;
+}