Browse Source

ft: 内联优化

master
SisMaker 2 months ago
parent
commit
77c052dafb
1 changed files with 7 additions and 7 deletions
  1. +7
    -7
      c_src/eNifLock/eNifLock.cc

+ 7
- 7
c_src/eNifLock/eNifLock.cc View File

@ -10,14 +10,14 @@ ERL_NIF_TERM atomTrue;
ERL_NIF_TERM atomFalse; ERL_NIF_TERM atomFalse;
ERL_NIF_TERM atomUndefined; ERL_NIF_TERM atomUndefined;
int nifLoad(ErlNifEnv *env, void **priv_data, ERL_NIF_TERM){
int nifLoad(ErlNifEnv *env, void **priv_data, ERL_NIF_TERM load_info){
atomTrue = enif_make_atom(env, "true"); atomTrue = enif_make_atom(env, "true");
atomFalse = enif_make_atom(env, "false"); atomFalse = enif_make_atom(env, "false");
atomUndefined = enif_make_atom(env, "undefined"); atomUndefined = enif_make_atom(env, "undefined");
return 0; return 0;
} }
bool lockOne(ErlNifEnv *env, ErlNifPid *ThePid, int KeyIx, uint64_t Val){
inline bool lockOne(ErlNifEnv *env, ErlNifPid *ThePid, int KeyIx, uint64_t Val){
uint64_t Expected = 0; uint64_t Expected = 0;
if (LockSlot[KeyIx].compare_exchange_strong(Expected, Val)){ if (LockSlot[KeyIx].compare_exchange_strong(Expected, Val)){
return true; return true;
@ -31,7 +31,7 @@ bool lockOne(ErlNifEnv *env, ErlNifPid *ThePid, int KeyIx, uint64_t Val){
} }
} }
ERL_NIF_TERM tryLock(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM tryLock(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]){
int KeyIx; int KeyIx;
enif_get_int(env, argv[0], &KeyIx); enif_get_int(env, argv[0], &KeyIx);
ErlNifPid ThePid; ErlNifPid ThePid;
@ -41,7 +41,7 @@ ERL_NIF_TERM tryLock(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
return lockOne(env, &ThePid, KeyIx, Val) ? atomTrue : atomFalse; return lockOne(env, &ThePid, KeyIx, Val) ? atomTrue : atomFalse;
} }
ERL_NIF_TERM tryLocks(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM tryLocks(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM allList = argv[0]; ERL_NIF_TERM allList = argv[0];
ERL_NIF_TERM head; ERL_NIF_TERM head;
ErlNifPid ThePid; ErlNifPid ThePid;
@ -67,7 +67,7 @@ ERL_NIF_TERM tryLocks(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
return atomTrue; return atomTrue;
} }
ERL_NIF_TERM releaseLock(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM releaseLock(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]){
int KeyIx; int KeyIx;
enif_get_int(env, argv[0], &KeyIx); enif_get_int(env, argv[0], &KeyIx);
ErlNifPid ThePid; ErlNifPid ThePid;
@ -77,7 +77,7 @@ ERL_NIF_TERM releaseLock(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
return LockSlot[KeyIx].compare_exchange_strong(Expected, 0) ? atomTrue : atomFalse; return LockSlot[KeyIx].compare_exchange_strong(Expected, 0) ? atomTrue : atomFalse;
} }
ERL_NIF_TERM releaseLocks(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM releaseLocks(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM allList = argv[0]; ERL_NIF_TERM allList = argv[0];
ERL_NIF_TERM head; ERL_NIF_TERM head;
ErlNifPid ThePid; ErlNifPid ThePid;
@ -97,7 +97,7 @@ ERL_NIF_TERM releaseLocks(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
return isAllOk > 0 ? atomTrue : atomFalse; return isAllOk > 0 ? atomTrue : atomFalse;
} }
ERL_NIF_TERM getLockPid(ErlNifEnv *env, int, const ERL_NIF_TERM argv[]){
ERL_NIF_TERM getLockPid(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]){
int KeyIx; int KeyIx;
enif_get_int(env, argv[0], &KeyIx); enif_get_int(env, argv[0], &KeyIx);
ErlNifPid ThePid; ErlNifPid ThePid;

Loading…
Cancel
Save