erlang's global lock
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

21 rinda
637 B

pirms 1 gada
pirms 1 gada
pirms 1 gada
  1. #include "erl_nif.h"
  2. #include <stdio.h>
  3. static ERL_NIF_TERM pidToInt(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
  4. ErlNifUInt64 TermInt = (ErlNifUInt64)argv[0];
  5. return enif_make_uint64(env, TermInt);
  6. }
  7. static ERL_NIF_TERM intToPid(ErlNifEnv *env, int argc, const ERL_NIF_TERM argv[]) {
  8. ErlNifUInt64 Pid;
  9. if (!enif_get_uint64(env, argv[0], &Pid))
  10. return enif_make_badarg(env);
  11. ERL_NIF_TERM TermPid = (ERL_NIF_TERM)Pid;
  12. return TermPid;
  13. }
  14. static ErlNifFunc nif_funcs[] = {
  15. {"pidToInt", 1, pidToInt},
  16. {"intToPid", 1, intToPid}
  17. };
  18. ERL_NIF_INIT(eGPidInt, nif_funcs, NULL, NULL, NULL, NULL);