iaik.pkcs.pkcs11
Class DefaultMutexHandler
java.lang.Object
|
+--iaik.pkcs.pkcs11.DefaultMutexHandler
- All Implemented Interfaces:
- MutexHandler
- public class DefaultMutexHandler
- extends java.lang.Object
- implements MutexHandler
This class offers a default-implementation of a MutexHandler.
- Version:
- 1.0
- Author:
- Karl Scheibelhofer
Method Summary |
java.lang.Object |
createMutex()
Create a new mutex object. |
void |
destroyMutex(java.lang.Object mutex)
Destroy a mutex object. |
void |
lockMutex(java.lang.Object mutex)
If this method is called on with a mutex object which is not locked, the
calling thread obtains a lock on that mutex object and returns. |
void |
unlockMutex(java.lang.Object mutex)
If this method is called with a mutex object which is locked by the
calling thread, that mutex object is unlocked and the function call
returns. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultMutexHandler
public DefaultMutexHandler()
createMutex
public java.lang.Object createMutex()
throws PKCS11Exception
- Create a new mutex object.
- Specified by:
createMutex
in interface MutexHandler
- Returns:
- The new mutex object.
- Throws:
PKCS11Exception
- If the wrapper should return a differnet value
than CKR_OK to the library. It gets the
error-code and returns it as CK_RV.
destroyMutex
public void destroyMutex(java.lang.Object mutex)
throws PKCS11Exception
- Destroy a mutex object.
- Specified by:
destroyMutex
in interface MutexHandler
- Parameters:
mutex
- The mutex object to destroy.- Throws:
PKCS11Exception
- If the wrapper should return a differnet value
than CKR_OK to the library. It gets the
error-code and returns it as CK_RV.
lockMutex
public void lockMutex(java.lang.Object mutex)
throws PKCS11Exception
- If this method is called on with a mutex object which is not locked, the
calling thread obtains a lock on that mutex object and returns.
If this method is called with a mutex object which is locked by some
thread other than the calling thread, the calling thread blocks and waits
for that mutex to be unlocked.
If this method is called with a a mutex object which is locked by the calling
+ thread, the behavior of this method call is undefined.
- Specified by:
lockMutex
in interface MutexHandler
- Parameters:
mutex
- The mutex object to lock.- Throws:
PKCS11Exception
- If the wrapper should return a differnet value
than CKR_OK to the library. It gets the
error-code and returns it as CK_RV.
unlockMutex
public void unlockMutex(java.lang.Object mutex)
throws PKCS11Exception
- If this method is called with a mutex object which is locked by the
calling thread, that mutex object is unlocked and the function call
returns. Furthermore: If exactly one thread was blocking on that
particular mutex object, then that thread stops blocking, obtains a lock
on that mutex object, and its lockMutex(Object) call returns.
If more than one thread was blocking on that particular mutex objet, then
exactly one of the blocking threads is selected somehow. That lucky thread
stops blocking, obtains a lock on the mutex object, and its
lockMutex(Object) call returns. All other threads blocking on that
particular mutex object continue to block.
If this method is called with a mutex object which is not locked, then
the method call throws an exception with the error code
PKCS11Constants.CKR_MUTEX_NOT_LOCKED.
If this method is called with a mutex object which is locked by some
thread other than the calling thread, the behavior of this method call is
undefined.
- Specified by:
unlockMutex
in interface MutexHandler
- Parameters:
mutex
- The mutex object to unlock.- Throws:
PKCS11Exception
- If the wrapper should return a differnet value
than CKR_OK to the library. It gets the
error-code and returns it as CK_RV.
IAIK JavaSecurity Website http://jce.iaik.tugraz.at/
IAIK at Graz University of Technology, Austria, Europe
Copyright 2001-2004, IAIK, Graz University of Technology, Inffeldgasse 16a, 8010 Graz, Austria. All Rights Reserved.
version 1.2.18