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