Hi
A few years ago we had hit a problem of calling a synchronous (blocking) legacy API call in an application designed to be asynchronous and non-blocking.ÂThereÂwasn't a simple solution to this problem other than to do a custom implementation based on worker threads.
So, I created a new library C++ GExecutor which makes it easy to build any hybrid asynchronous and synchronous application without having to do a custom implementation with worker threads or multi-threading. I saw there were ready madeÂsolutions in Java and Python but nothing was available for C++ or C.
I am posting this so others can benefit if they are faced with synchronous operations within event loop or using libevent in multi-threaded environment.Â
It currently supports both libevent and boost::asio based event loops.ÂHaving libevent was great help to us inÂrapidlyÂdeveloping high performance network application.ÂHere is the link to the source:
cheers!
Gaurav
--