mfbt/SharedLibrary.h
author Jim Chen <nchen@mozilla.com>
Wed, 20 Jun 2018 16:46:20 -0400
changeset 423113 2806729c61eaac199ad4670788c4008079a99f34
parent 416791 af62a7677b23df7ea16511744b0c5095d7efc5de
child 448947 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1469683 - 1. Fix crash tests; r=esawin Specify individual sessions in crash tests (i.e. "mainSession.waitUntilCalled" instead of "sessionRule.waitUntilCalled"), so that the tests assert behavior on the correct session, and not inadvertently on the cached session. Also, under x86 debug builds, Gecko installs an "ah_crap_handler" for SIGSEGV that waits for a long time, which causes our crash tests to time out. Therefore, ignore crash tests under x86 debug. MozReview-Commit-ID: DdtmRBLmPGp

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

/* Path charset agnostic wrappers for prlink.h. */

#ifndef mozilla_SharedLibrary_h
#define mozilla_SharedLibrary_h

#ifdef MOZILLA_INTERNAL_API

#include "prlink.h"
#include "mozilla/Char16.h"

namespace mozilla {

//
// Load the specified library.
//
// @param aPath  path to the library
// @param aFlags takes PR_LD_* flags (see prlink.h)
//
inline PRLibrary*
#ifdef XP_WIN
LoadLibraryWithFlags(char16ptr_t aPath, PRUint32 aFlags = 0)
#else
LoadLibraryWithFlags(const char* aPath, PRUint32 aFlags = 0)
#endif
{
  PRLibSpec libSpec;
#ifdef XP_WIN
  libSpec.type = PR_LibSpec_PathnameU;
  libSpec.value.pathname_u = aPath;
#else
  libSpec.type = PR_LibSpec_Pathname;
  libSpec.value.pathname = aPath;
#endif
  return PR_LoadLibraryWithFlags(libSpec, aFlags);
}

}  /* namespace mozilla */

#endif /* MOZILLA_INTERNAL_API */

#endif /* mozilla_SharedLibrary_h */