d8: Leak context_mutex_ so it will never be destroyed while locked
authorbinji <binji@chromium.org>
Thu, 16 Jul 2015 16:40:37 +0000 (09:40 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 16 Jul 2015 16:40:48 +0000 (16:40 +0000)
commit162f116a913058cb02f0e5fe1becf7c11d1db56b
tree9258ebffcef7ab89b1ce8d3271c5d3bebe5ca8de
parent1251d02e7bb2a13ae5cf6fda5d3403730d2ae12f
d8: Leak context_mutex_ so it will never be destroyed while locked

Calling quit() from d8 will call exit(), which will run static destructors. If
context_mutex_ is statically allocated, pthread_mutex_destroy will be called.

When running d8 in "isolates" mode, another thread may be running. If it calls
CreateEvaluationContext, it will lock the context_mutex_. If the mutex is
destroyed while it is locked, it will return an error.

This CL changes the Mutex to a LazyMutex, which will leak instead of being
destroyed.

BUG=v8:4279
R=jarin@chromium.org
R=machenbach@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/1240553003

Cr-Commit-Position: refs/heads/master@{#29709}
src/d8.cc
src/d8.h