Hello everyone, I have a question that I still haven't found the solution 
for it. So I would like to ask here if someone knows how to solve it.

I am making a C++ addon for Node. And I would like to run 
uv_queue_work multiple times without having to use a while/sleep the main 
thread. Any idea of how to do this?

So far I've done this:

void main(const FunctionCallbackInfo<Value>& args) {
//here goes my main code

//Here I schedule the worker, to run BEFOREmethod in a new thread, and 
AFTERmethod in the main thread
uv_queue_work(uv_default_loop(), req, BEFOREmethod,(uv_after_work_cb) 
AFTERmethod);

return callback;
}



void BEFOREmethod(uv_work_t* req){

//here goes the code that runs in new thread
usleep(200000);
}




void AFTERmethod(uv_work_t* req, int status){

//here goes the code that runs in main thread

//Then we schedule the uv_queue_work again
uv_queue_work(uv_default_loop(), req, BEFOREmethod,(uv_after_work_cb) 
AFTERmethod);
}

So this works, I can re-schedule the uv_queue_work, but there is a memory 
leak, if I keep this running, memory usage keeps increasing. But I haven't 
found another way of doing this. So I would appreciate any help if anybody 
has an idea.

Thanks in advance!


Karim

-- 
You received this message because you are subscribed to the Google Groups 
"libuv" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/libuv.
For more options, visit https://groups.google.com/d/optout.

Reply via email to