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