Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

Mutex.Create

Creates a new mutex with given name.

Component Version macOS Windows Linux Server iOS SDK
Mutex 10.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "Mutex.Create"; Name )   More

Parameters

Parameter Description Example
Name The name to use for the mutex.
Name should be a simple text, but unique, so we recommend reverse domain notation.
The name should not contain a slash.
"test"

Result

Returns reference number or error.

Description

Creates a new mutex with given name.
If mutex exists already, we open it. The mutex lives until the last application closed it.
Please call Mutex.Release later.

If name matches the name of an existing event, semaphore, waitable timer, job, or file-mapping object, the function fails.
You can open the same mutex twice and get different reference numbers from the plugin.

Examples

Create a mutex

MBS( "Mutex.Create"; "com.monkeybreadsoftware.test" )

Create the mutex and use it:

# create a mutex
Set Variable [ $mutex ; Value: MBS( "Mutex.Create"; "de.monkeybreadsoftware.test" ) ]
# lock it
Set Variable [ $r ; Value: MBS( "Mutex.TryLock"; $Mutex ) ]
If [ $r = 1 ]
    # do something
    #
    # finally unlock
    Set Variable [ $r ; Value: MBS( "Mutex.Unlock"; $Mutex ) ]
End If
# free it mutex
Set Variable [ $r ; Value: MBS( "Mutex.Release"; $Mutex ) ]

See also

Blog Entries

This function checks for a license.

Created 5th April 2020, last changed 29th May 2024


Msgbox - Mutex.GetTag