On Tue, Jul 27, 2010 at 03:47:36PM +0900, Horacio Sanson <[email protected]> 
wrote:
> I am trying to make my server class threaded following the thread example in 
> the
> libev documentation. Unfortunately I am having some problems converting the C 
> to
> C++ especially with the ev_set_loop_release_cb call.

Not sure what you mean converting C to C++ - libev already is C++, so
there is no need to convert anything.

> libevtest.cpp: In constructor ‘Server::Server()’:
> libevtest.cpp:37: error: cannot convert ‘void (Server::*)(ev_loop*)’ to ‘void
> (*)(ev_loop*)’ for argument ‘2’ to ‘void ev_set_loop_release_cb(ev_loop*, void
> (*)(ev_loop*), void (*)(ev_loop*))’

Yup, the types don't match - ev_set_loop_release_cb expects a function -
you would need to declare your lock and unlock functions as static. You
can set and query an object for example by passing it to ev_set_userdata
and fetching it via ev_userdata from your static member functions.

-- 
                The choice of a       Deliantra, the free code+content MORPG
      -----==-     _GNU_              http://www.deliantra.net
      ----==-- _       generation
      ---==---(_)__  __ ____  __      Marc Lehmann
      --==---/ / _ \/ // /\ \/ /      [email protected]
      -=====/_/_//_/\_,_/ /_/\_\

_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to