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


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


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.


Returns reference number or error.


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.


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