Upstream version 11.40.277.0
[platform/framework/web/crosswalk.git] / src / rlz / win / lib / lib_mutex.cc
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "rlz/win/lib/lib_mutex.h"
6
7 #include <windows.h>
8 #include "base/win/windows_version.h"
9
10 namespace {
11
12 const long kTimeoutMs = 5000L;
13 const wchar_t kMutexName[] = L"{A946A6A9-917E-4949-B9BC-6BADA8C7FD63}";
14
15 }  // namespace
16
17 namespace rlz_lib {
18
19 LibMutex::LibMutex() : acquired_(false), mutex_(NULL) {
20   mutex_ = CreateMutex(NULL, FALSE, kMutexName);
21   if (mutex_)
22     acquired_ = (WAIT_OBJECT_0 == WaitForSingleObject(mutex_, kTimeoutMs));
23 }
24
25 LibMutex::~LibMutex() {
26   if (acquired_)
27     ReleaseMutex(mutex_);
28   if (mutex_)
29     CloseHandle(mutex_);
30 }
31
32 }  // namespace rlz_lib