Mercurial > cgi-bin > hgwebdir.cgi > VMS > VMS_Implementations > VMS_impls > VMS__MC_shared_impl
diff VMS.h @ 281:b58fb1343377
remove need for end_thread()
| author | Nina Engelhardt <nengel@mailbox.tu-berlin.de> |
|---|---|
| date | Fri, 17 May 2013 17:49:35 +0200 |
| parents | 67b684afa736 |
| children |
line diff
1.1 --- a/VMS.h Wed May 15 15:21:46 2013 +0200 1.2 +++ b/VMS.h Fri May 17 17:49:35 2013 +0200 1.3 @@ -45,6 +45,7 @@ 1.4 typedef SlaveVP *(*SlaveAssigner) ( void *, AnimSlot*); //semEnv, slot for HW info 1.5 typedef void (*RequestHandler) ( SlaveVP *, void * ); //prWReqst, semEnv 1.6 typedef void (*TopLevelFnPtr) ( void * ); //initData, animSlv 1.7 +typedef void (*TopLevelFnWrapper)( TopLevelFnPtr, void*); //(*fn)(arg) 1.8 typedef void TopLevelFn ( void * ); //initData, animSlv 1.9 typedef void (*ResumeSlvFnPtr) ( SlaveVP *, void * ); 1.10 //=========== MEASUREMENT STUFF ========== 1.11 @@ -293,6 +294,9 @@ 1.12 #define VMS_PI__create_slaveVP VMS_int__create_slaveVP 1.13 #define VMS_WL__create_slaveVP VMS_int__create_slaveVP 1.14 1.15 +SlaveVP * 1.16 +VMS_int__create_slaveVP_with_wrapper( TopLevelFnWrapper fnWrapper, TopLevelFnPtr fnPtr, void *dataParam ); 1.17 + 1.18 //Use this to create processor inside entry point & other places outside 1.19 // the VMS system boundary (IE, don't animate with a SlaveVP or MasterVP) 1.20 SlaveVP * 1.21 @@ -302,6 +306,10 @@ 1.22 VMS_int__create_slaveVP_helper( SlaveVP *newSlv, TopLevelFnPtr fnPtr, 1.23 void *dataParam, void *stackLocs ); 1.24 1.25 +SlaveVP * 1.26 +VMS_int__create_slaveVP_helper_with_wrapper( SlaveVP *newSlv, TopLevelFnWrapper fnWrapper, TopLevelFnPtr fnPtr, 1.27 + void *dataParam, void *stackLocs ); 1.28 + 1.29 void 1.30 VMS_int__reset_slaveVP_to_TopLvlFn( SlaveVP *slaveVP, TopLevelFnPtr fnPtr, 1.31 void *dataParam); 1.32 @@ -315,6 +323,10 @@ 1.33 void *param1, void *param2); 1.34 1.35 void 1.36 +VMS_int__reset_slaveVP_to_TopLvlFnWrapper( SlaveVP *slaveVP, TopLevelFnWrapper fnWrapper, TopLevelFnPtr fnPtr, 1.37 + void *dataParam); 1.38 + 1.39 +void 1.40 VMS_int__dissipate_slaveVP( SlaveVP *slaveToDissipate ); 1.41 #define VMS_PI__dissipate_slaveVP VMS_int__dissipate_slaveVP 1.42 //WL: dissipate a SlaveVP by sending a request
