You should try using:

uv_async_init(uv_default_loop(), &async_watcher, AsyncCallback);
uv_async_send(uv_default_loop(), &async_watcher);

Cheers,
Fedor.



On Mon, Jun 25, 2012 at 11:25 PM, Jorge <jo...@jorgechamorro.com> wrote:

> One more thing:
>
> I've been reading the "API changes between v0.6 and v0.8" and "How to
> migrate from eio_custom to uv_queue_work" but this isn't there, istm.
>
> So, would you *please* tell me the proper way to write this in the new
> libuv era?
>
>    ev_async_send(EV_DEFAULT_UC_ &thread->async_watcher);
>    ev_async_init(&thread->async_watcher, Callback);
>    ev_async_start(EV_DEFAULT_UC_ &thread->async_watcher);
>
> It's giving me:
>
> [1/2] cxx: src/threads_a_gogo.cc -> build/Release/src/threads_a_gogo_1.o
> ../src/threads_a_gogo.cc: In function ‘void* aThread(void*)’:
> ../src/threads_a_gogo.cc:246: error: cannot convert ‘ev_async*’ to
> ‘ev_loop*’ for argument ‘1’ to ‘void ev_async_send(ev_loop*, ev_async*)’
> ../src/threads_a_gogo.cc: In function ‘void eventLoop(typeThread*)’:
> ../src/threads_a_gogo.cc:324: error: cannot convert ‘ev_async*’ to
> ‘ev_loop*’ for argument ‘1’ to ‘void ev_async_send(ev_loop*, ev_async*)’
> ../src/threads_a_gogo.cc: In function ‘void destroyaThread(typeThread*)’:
> ../src/threads_a_gogo.cc:406: error: cannot convert ‘ev_async*’ to
> ‘ev_loop*’ for argument ‘1’ to ‘void ev_async_stop(ev_loop*, ev_async*)’
> ../src/threads_a_gogo.cc: In function ‘void Callback(ev_async*, int)’:
> ../src/threads_a_gogo.cc:471: error: cannot convert ‘ev_async*’ to
> ‘ev_loop*’ for argument ‘1’ to ‘void ev_async_send(ev_loop*, ev_async*)’
> ../src/threads_a_gogo.cc: In function ‘v8::Handle<v8::Value>
> threadEmit(const v8::Arguments&)’:
> ../src/threads_a_gogo.cc:708: error: cannot convert ‘ev_async*’ to
> ‘ev_loop*’ for argument ‘1’ to ‘void ev_async_send(ev_loop*, ev_async*)’
> ../src/threads_a_gogo.cc: In function ‘v8::Handle<v8::Value> Create(const
> v8::Arguments&)’:
> ../src/threads_a_gogo.cc:746: error: invalid conversion from ‘void
> (*)(ev_async*, int)’ to ‘void (*)(ev_loop*, ev_async*, int)’
> ../src/threads_a_gogo.cc:747: error: cannot convert ‘ev_async*’ to
> ‘ev_loop*’ for argument ‘1’ to ‘void ev_async_start(ev_loop*, ev_async*)’
>
> Thanks,
> --
> Jorge.
>
> On 25/06/2012, at 18:10, Jorge wrote:
>
> > Yes that works, thank you very much Isaac.
> > --
> > Jorge.
> >
> > On 25/06/2012, at 17:58, Isaac Schlueter wrote:
> >
> >> Aha, the issue is that ~ is not being expanded in the shebang step.
> >> If you do this, it will work:
> >>
> >> ./configure --prefix=$HOME/JAVASCRIPT/binarios
> >>
> >> We can fix this for 0.8.1 :)
> >>
> >> On Mon, Jun 25, 2012 at 8:56 AM, Isaac Schlueter <i...@izs.me> wrote:
> >>> Yep.  That's a bug.  Please post an issue.
> >>> https://github.com/joyent/node/issues
> >>>
> >>> It seems to work fine if you install without a --prefix, but of
> >>> course, then it goes to /usr/local, which may not be what you want.
> >>>
> >>> On Mon, Jun 25, 2012 at 8:46 AM, Jorge <jo...@jorgechamorro.com>
> wrote:
> >>>> Help me please:
> >>>>
> >>>> $ ./configure --prefix=~/JAVASCRIPT/binarios/
> >>>> $ make -j 3 install
> >>>>
> >>>> is giving me this:
> >>>>
> >>>> ...
> >>>> shebang #!~/JAVASCRIPT/binarios/bin/node
> ~/JAVASCRIPT/binarios/lib/node_modules/npm/bin/npm-cli.js
> >>>>
> >>>> fs.js:338
> >>>> return binding.open(pathModule._makeLong(path), stringToFlags(flags),
> mode);
> >>>>                ^
> >>>> Error: ENOENT, no such file or directory
> '~/JAVASCRIPT/binarios/lib/node_modules/npm/bin/npm-cli.js'
> >>>>   at Object.fs.openSync (fs.js:338:18)
> >>>>   at Object.fs.readFileSync (fs.js:182:15)
> >>>>   at shebang
> (/Users/jorge/JAVASCRIPT/node-v0.8.0/tools/installer.js:53:20)
> >>>>   at run
> (/Users/jorge/JAVASCRIPT/node-v0.8.0/tools/installer.js:77:10)
> >>>>   at /Users/jorge/JAVASCRIPT/node-v0.8.0/tools/installer.js:85:7
> >>>>   at ChildProcess.exithandler (child_process.js:534:7)
> >>>>   at ChildProcess.EventEmitter.emit (events.js:91:17)
> >>>>   at maybeClose (child_process.js:634:16)
> >>>>   at Process._handle.onexit (child_process.js:676:5)
> >>>> make: *** [install] Error 1
> >>>>
> >>>> in a Mac with OSX 10.6.8.
> >>>> --
> >>>> Jorge.
> >
>
>

Reply via email to