// Copyright 2018 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.

#include "sql/initialization.h"

#include "base/no_destructor.h"
#include "base/synchronization/lock.h"
#include "base/trace_event/trace_event.h"
#include "third_party/sqlite/sqlite3.h"

namespace sql {

void EnsureSqliteInitialized() {
  // sqlite3_initialize() uses double-checked locking and thus can have
  // data races.
  static base::NoDestructor<base::Lock> sqlite_init_lock;
  base::AutoLock auto_lock(*sqlite_init_lock);

  static bool first_call = true;
  if (first_call) {
    TRACE_EVENT0("sql", "EnsureSqliteInitialized");
    sqlite3_initialize();
    first_call = false;
  }
}

}  // namespace sql
