JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::InterProcessLock Class Reference

Acts as a critical section which processes can use to block each other. More...

#include <juce_InterProcessLock.h>

Collaboration diagram for juce::InterProcessLock:

Classes

class  Pimpl
 
class  ScopedLockType
 Automatically locks and unlocks an InterProcessLock object. More...
 

Public Member Functions

 InterProcessLock (const String &name)
 Creates a lock object. More...
 
 ~InterProcessLock ()
 Destructor. More...
 
bool enter (int timeOutMillisecs=-1)
 Attempts to lock the critical section. More...
 
void exit ()
 Releases the lock if it's currently held by this process. More...
 

Private Attributes

CriticalSection lock
 
String name
 
std::unique_ptr< Pimplpimpl
 

Detailed Description

Acts as a critical section which processes can use to block each other.

See also
CriticalSection

{Core}

Constructor & Destructor Documentation

◆ InterProcessLock()

juce::InterProcessLock::InterProcessLock ( const String name)
explicit

Creates a lock object.

Parameters
namea name that processes will use to identify this lock object

◆ ~InterProcessLock()

juce::InterProcessLock::~InterProcessLock ( )

Destructor.

This will also release the lock if it's currently held by this process.

Member Function Documentation

◆ enter()

bool juce::InterProcessLock::enter ( int  timeOutMillisecs = -1)

Attempts to lock the critical section.

Parameters
timeOutMillisecshow many milliseconds to wait if the lock is already held by another process - a value of 0 will return immediately, negative values will wait forever
Returns
true if the lock could be gained within the timeout period, or false if the timeout expired.

References lock, name, and pimpl.

Referenced by juce::InterProcessLock::ScopedLockType::ScopedLockType().

◆ exit()

void juce::InterProcessLock::exit ( )

Releases the lock if it's currently held by this process.

References juce::androidJNIJavaVM, jassert, juce::juce_threadEntryPoint(), lock, pimpl, and juce::threadEntryProc().

Referenced by juce::ChildProcess::ActiveProcess::ActiveProcess().

Member Data Documentation

◆ lock

CriticalSection juce::InterProcessLock::lock
private

Referenced by enter(), and exit().

◆ name

String juce::InterProcessLock::name
private

Referenced by enter().

◆ pimpl

std::unique_ptr<Pimpl> juce::InterProcessLock::pimpl
private

Referenced by enter(), and exit().


The documentation for this class was generated from the following files: