CLIPSwl Wiki
CLIPS with lock support. CLIPS for safely handling simultaneous access
Status: Beta
Brought to you by:
dmpark04
For using CLIPSwl, do the followings.
0. Download and unzip the latest CLIPSwl source from "Files".
1. If your compiler understands "const", open setup.h and set 1 for USE_CONST.
2. Use CLIPSwl as if it were CLIPS except the followings.
- If you want to use locks supported by CLIPSwl, before you use a CLIPS function,
call "InitEnvironmentLockFunction" using code like "InitEnvironmentLockFunction(MyAllocateNewLockFun, MyAcquireLockFun, MyReleaseLockFun, MyDeallocateLockFun);"
(The parameters of this function are 4 function pointers for allocating, acquiring, releasing and deallocating locks. You have to implement 4 functions for your platform and the function prototypes are as follows.
void *MyAllocateNewLockFun();
void MyAcquireLockFun(void *lock);
void MyReleaseLockFun(void *lock);
void MyDeallocateLockFun(void *lock);
)
- After initialization, when you want to acquire the lock for an CLIPS environment, call "AcquireEnvironmentLock" using code like "AcquireEnvironmentLock(env);"
(env is a CLIPS environment)
- After initialization, when you want to release the lock for an CLIPS environment, call "ReleaseEnvironmentLock" using code like "ReleaseEnvironmentLock(env);"
(env is a CLIPS environment)