summaryrefslogtreecommitdiff
path: root/deps/v8/src/platform-openbsd.cc
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2010-12-16 22:57:41 -0500
committerRyan Dahl <ry@tinyclouds.org>2010-12-17 09:06:31 -0800
commit9eaf2329e7d1e7c2de20ab7e4461bf55b18595c2 (patch)
tree199e1a57302c7fc465b167518156a4da8ba64e2d /deps/v8/src/platform-openbsd.cc
parentd0beac70f4d494c4c481281d6c8f672deae9a5d8 (diff)
downloadnode-new-9eaf2329e7d1e7c2de20ab7e4461bf55b18595c2.tar.gz
Fix compilation on OpenBSD and FreeBSD
While it compiles fine on FreeBSD, at least on amd64 node dies with: "CALL_AND_RETRY_0 allocation failed - process out of memory"
Diffstat (limited to 'deps/v8/src/platform-openbsd.cc')
-rw-r--r--deps/v8/src/platform-openbsd.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/deps/v8/src/platform-openbsd.cc b/deps/v8/src/platform-openbsd.cc
index b698d16b9a..7658272e3c 100644
--- a/deps/v8/src/platform-openbsd.cc
+++ b/deps/v8/src/platform-openbsd.cc
@@ -476,6 +476,16 @@ class OpenBSDMutex : public Mutex {
return result;
}
+ virtual bool TryLock() {
+ int result = pthread_mutex_trylock(&mutex_);
+ // Return false if the lock is busy and locking failed.
+ if (result == EBUSY) {
+ return false;
+ }
+ ASSERT(result == 0); // Verify no other errors.
+ return true;
+ }
+
private:
pthread_mutex_t mutex_; // Pthread mutex for POSIX platforms.
};
@@ -554,7 +564,7 @@ static void ProfilerSignalHandler(int signal, siginfo_t* info, void* context) {
TickSample sample;
// We always sample the VM state.
- sample.state = VMState::current_state();
+ sample.state = Top::current_vm_state();
active_sampler_->Tick(&sample);
}