Clients connecting to libev server socket not getting all data sometimes

Ram ram at
Fri Apr 5 06:50:59 CEST 2013

For implementing realtime reports  I have written a custome  libev 
server .. that runs on a socket and "listens" to reports sent.
The code runs in 2 threads , one thread simply listens for the data and 
pushes into a shared memory. The other thread updates the data into a 
mysql db

Code seems to run fine most times , but sporadically  the clients 
connecting to the server are not able to recv() from the server.
The servers sends using send() which returns fine , but the client gets 

The stripped down version of the server code is here

Can someone help  point out if there are some obvious things I missed. I 
am beginner at socket programming in C

More information about the libev mailing list