MapleMutexUnlock - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


MapleMutexUnlock

unlock a mutex

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

MapleMutexUnlock( kv, mutex );

Parameters

kv

-

kernel handle of type MKernelVector

mutex

-

a mutex identifier (ALGEB)

Description

• 

MapleMutexUnlock unlocks a mutex.  This allows another thread to lock the mutex.  If other threads are attempting to obtain the lock, one will acquire the lock, and the others will continue waiting.

• 

To obtain the lock on a mutex, use the MapleMutexLock function.

• 

A mutex can be created in external call using the MapleMutexCreate function.

• 

The mutex identifier used by MapleMutexUnlock is compatible with the functions in the Threads[Mutex] package.  Thus mutexes created by Threads[Mutex][Create] can be passed into external call, and used by MapleMutexLock and MapleMutexUnlock.

Examples

#include "maplec.h"

 

ALGEB M_DECL ParallelFunction( MKernelVector kv, ALGEB mutex, ALGEB args )

{

    ALGEB ret;

 

    MapleMutexUnlock( kv, mutex );

    ret = CriticalSection( kv, args );

    MapleMutexUnlock( kv, mutex );

 

    return ret;

}

See Also

CustomWrapper

define_external

MapleMutexCreate

MapleMutexDestroy

MapleMutexLock

OpenMaple

OpenMaple/C/API

OpenMaple/C/Examples

OpenMaple/C/MutexDestroy

OpenMaple/C/MutexLock

OpenMaple/C/MutexUnlock

Threads[Mutex]