-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/18/2014 11:15 PM, Dean wrote:
> An alternative approach is to hook libuv's underlying calls to the
> OS, for example kevent.  This is what's done for Plask's
> integration of libuv/node with the Cocoa event loop.  It might seem
> a bit complicated, but it is currently the best way to make sure
> that libuv's internal state is up to date, at least in the case of 
> embedding Node where you don't control all of the entry points / 
> callbacks.
> 
> There are some comments about the approach at the top of the file:
> 
> https://github.com/deanm/plask/blob/master/main.mm
> 

The problem with that approach is that its portability is quite
limited. It's the only way (uv_backend_fd) to do things these days
though, but it only works on systems with epoll or kqueue, IIRC.

I'll read the reference, thanks!

> On 11 July 2014 14:19, Thiago Padilha <[email protected]>
> wrote:
>>> Basically I would like to be able to block until the next event
>>> but don't acually do anything with the event (e.g. don't run
>>> any callbacks)
>> 
>> In Neovim we use a separate queue to achieve this effect. Here's
>> a high-level overview of what happens:
>> 
>> - uv_run(UV_RUN_{ONCE,NOWAIT}) is called - Any libuv callback
>> that is invoked pushes event data to an event queue - After
>> uv_run returns, we check if there are events in the queue, and if
>> so process them.
>> 
>> We do this mainly because uv_run doesn't support recursion, but
>> Neovim has a lot of legacy code that calls input functions
>> recursively. Also, it was the cleanest way I found to embed libuv
>> event loop into vim's own event loop
>> 
>> -- 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.
> 


- -- 
Saúl Ibarra Corretgé
bettercallsaghul.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Icedove - http://www.enigmail.net/

iQIcBAEBAgAGBQJTyjsUAAoJEEEOVVOum8BZTiQQAIrX3KugoSqxIeizYNhBH7km
U5ev6W0L82VNWu3HnlGdJ4DfwD6pwWTCzAWmgsIFusxtOlK3VVCRgapbS4fpG6Rq
5N6TVuv6szRz6CahW6vfFiydthvbhLlPD2LJ34o58LVy6Xz2eN9zZ4tbGUWsHBSA
CFiLlbWlxb2LDH1OynIq3UaYP0ecD/phazgMqcuiPGiNaj70oPzMZG73vjpcN4q7
vORsvp8vNwTCJne4iQhXzMLOxY7/pqtJw5kNh3CyEtTZi84THjjPszG0Fsk/grO6
/bqncKZQkq7F/dVjtWmiLw+HPOqbhZeFiaPHU1oyqDZB7r8PR309MCVWS2e75ufq
lTML5WdbJm4GhLppnGpXoj++JUXHgciES+c6tghbew+i/i7kUm/ci/THrnG4U4HM
K1uoTIcH0pCZANpkKQaD4mmqZse7CokLPWjGEKmkYa7JllYUxkNpVfODUCKumZ77
DnAsBJlQ9B5F8UbH9w7GwKsyrdnrRpekcsdEeICL2VE6eqMca268SrStLT5dJImt
qZss9D9rQbSug/WTQAZ5vmY9ODaYbCiZoJ2kThBgI1ENYbm9wNfG/itmH6IBiHjj
8UZWSYBRKyWTjh7F8EvXUddGOB9U/RV+Sy35IXjIHbGPkGhOedQBKMvZ7WOhqD3U
IFaH8cuCpO7hf+Z9tnDK
=8Bbw
-----END PGP SIGNATURE-----

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