LMMS
Loading...
Searching...
No Matches
juce::InterProcessLock Class Reference

#include <juce_InterProcessLock.h>

Classes

class  ScopedLockType
class  Pimpl

Public Member Functions

 InterProcessLock (const String &name)
 ~InterProcessLock ()
bool enter (int timeOutMillisecs=-1)
void exit ()

Private Attributes

std::unique_ptr< Pimplpimpl
CriticalSection lock
String name

Detailed Description

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

See also
CriticalSection

@tags{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.

◆ exit()

void juce::InterProcessLock::exit ( )

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

Member Data Documentation

◆ lock

CriticalSection juce::InterProcessLock::lock
private

◆ name

String juce::InterProcessLock::name
private

◆ pimpl

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

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