diff options
author | Loïc Hoguin <[email protected]> | 2017-04-19 15:34:12 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2017-04-19 15:34:12 +0200 |
commit | 1ea180459b74165036eea638f61f78e688867eac (patch) | |
tree | d7ee36419a0f7f3f6e9054898bad7a45af55ae2f /c_src | |
parent | 1947c4d7f32272ec0c5b9295808cde4c9138995c (diff) | |
download | esdl2-1ea180459b74165036eea638f61f78e688867eac.tar.gz esdl2-1ea180459b74165036eea638f61f78e688867eac.tar.bz2 esdl2-1ea180459b74165036eea638f61f78e688867eac.zip |
Improve C++ compatibility
Changes imported from a customer project.
Diffstat (limited to 'c_src')
-rw-r--r-- | c_src/nif_helpers.c | 4 | ||||
-rw-r--r-- | c_src/nif_helpers.h | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/c_src/nif_helpers.c b/c_src/nif_helpers.c index 0f98cd6..8953f2e 100644 --- a/c_src/nif_helpers.c +++ b/c_src/nif_helpers.c @@ -163,8 +163,8 @@ void* nif_create_main_thread(char* name) { nif_thread_state* st = (nif_thread_state*)enif_alloc(sizeof(nif_thread_state)); - st->lock = enif_mutex_create("esdl2_lock"); - st->cond = enif_cond_create("esdl2_cond"); + st->lock = enif_mutex_create("nif_thread_mailbox_lock"); + st->cond = enif_cond_create("nif_thread_mailbox_cond"); st->mailbox = (nif_thread_mailbox*)enif_alloc(sizeof(nif_thread_mailbox)); TAILQ_INIT(st->mailbox); diff --git a/c_src/nif_helpers.h b/c_src/nif_helpers.h index 111ea84..2eefec6 100644 --- a/c_src/nif_helpers.h +++ b/c_src/nif_helpers.h @@ -120,11 +120,19 @@ typedef void* nif_thread_arg; +#ifdef __cplusplus +extern "C" { +#endif + void* nif_create_main_thread(char*); void nif_destroy_main_thread(void*); ERL_NIF_TERM nif_thread_cast(ErlNifEnv*, void (*f)(nif_thread_arg*), int a, ...); ERL_NIF_TERM nif_thread_call(ErlNifEnv*, ERL_NIF_TERM (*f)(ErlNifEnv*, nif_thread_arg*), int a, ...); +#ifdef __cplusplus +} +#endif + #define NIF_CAST_HANDLER(f) static void f(nif_thread_arg* args) #define NIF_CALL_HANDLER(f) static ERL_NIF_TERM f(ErlNifEnv* env, nif_thread_arg* args) |