<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Everyone, <div><br></div><div>I have a cnode written in C that performs some complex geometrical operations. The code is non blocking but I am wondering what the best way is to establish a keep alive poll back as return time for the cnode could be anywhere from a few seconds to hours. The cnode on the Erlang side is in elixir but I think this is really more an Erlang question than an Elixir one. I have something like this </div><div>on the Erlang/Elixir side </div><div><br></div><div><div> Nodex.Distributed.up()</div><div>    {conn, pid} = Cnode.start_link(%{exec_path: "bin/brep" , spawn_inactive_timeout: :infinity } )</div></div><div> Cnode.call(pid, msg  )<br clear="all"><div><br></div><div>And then something like this on the c code side </div><div><br></div><div><div> else if ( erl_match(erl_format("blah"),operation) ) { </div><div>    std::vector<double> para(3); </div><div>    ETERM *parameters = erl_element(2,emsg->msg);</div><div>    para = list_to_vectors( parameters ); </div><div>    cylinder(para[0],para[1],para[2]);  </div><div>    response = erl_mk_int( geometry.currentIndex() ); </div><div>    erl_free_term(parameters);</div><div>  }</div></div><div><br></div><div>My code does not block and I can regularly send messages back. I am just not sure what to send back as a regular wake up call. </div><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><span style="color:rgb(136,136,136);font-size:12.8px"> </span><br></div></div></div></div></div></div></div></div></div></div>