for libevent source read