Yes, that's pretty much the only way to do it at the moment.
On Mar 6, 2015 5:34 PM, "Nicolai G." <[email protected]> wrote:

> Yes, I've already implemented this approach and it solves the issue.
>
> So in general it is the only legal way to run a task on the loop when it
> is initiated from other thread?
>
>
> On Friday, March 6, 2015 at 12:49:07 PM UTC+3, Saúl Ibarra Corretgé wrote:
>>
>> On 03/03/15 20:34, Nicolai G. wrote:
>> > Hello,
>> >
>> > I use async handlers to put jobs on loop-thread (like connect, listen,
>> > close) , and each time I create uv_async_t, mixin my data in
>> async->data
>> > field, initialize it and call a uv_async_send().
>> > It seemed to work nicely, but now sometimes I get the situation wnen
>> > loop ends while there are active handlers.
>> > Guess a call to uv_async_init() not from loop thread might be the
>> issue.
>> > So what is the polite way to inject your jobs on the loop thread, is
>> > there any standard practice?
>> >
>>
>> Hi,
>>
>> Indeed, uv_async_init is not thread-safe. You can use a thread-safe
>> queue, queue some work from any thread and use an async handle to
>> process the queue in its callback.
>>
>> > --
>> > 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]
>> > <mailto:[email protected]>.
>> > To post to this group, send email to [email protected]
>> > <mailto:[email protected]>.
>> > Visit this group at http://groups.google.com/group/libuv.
>> > For more options, visit https://groups.google.com/d/optout.
>>
>>
>> --
>> Saúl Ibarra Corretgé
>> http://bettercallsaghul.com
>>
>  --
> 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.
>

-- 
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