diff options
author | Brian White <mscdex@mscdex.net> | 2010-12-16 22:57:41 -0500 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2010-12-17 09:06:31 -0800 |
commit | 9eaf2329e7d1e7c2de20ab7e4461bf55b18595c2 (patch) | |
tree | 199e1a57302c7fc465b167518156a4da8ba64e2d /deps/v8/src/platform-openbsd.cc | |
parent | d0beac70f4d494c4c481281d6c8f672deae9a5d8 (diff) | |
download | node-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.cc | 12 |
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); } |