using libevent2 (libevent-2.0.21-stable) i create this log: [warn] event_del: event has no event_base set. [err] event_assign called on an already added event 0x84de9e4 (events: 0x0, fd: 0, flags: 0x0)
using this code: void connection::listen_write_event() { int rc = 0; if (fd == -1) return; if (is_listening_write) return; is_listening_write = 1; #ifdef DEBUG fprintf(stderr,"%d:%08X, LISTEN WRITING\n",fd, (unsigned int)pthread_self()); #endif event_del(&_sock_ev_write); rc = event_assign(&_sock_ev_write, s->get_evt_base(), fd, EV_WRITE, server::con_ready_pattern, this); if (rc == 0) event_add(&_sock_ev_write, NULL); else syslog( LOG_CRIT, "%d:cannot create write event",fd); } i cannot supress the warn even if i put an event base (probably missunderstood the doc) i declared struct event_base * evt_base; as a global and get it init: #ifdef DEBUG event_enable_debug_mode(); #endif evthread_use_pthreads(); gconf.evt_base = event_base_new(); if ( gconf.evt_base == NULL ) { syslog( LOG_ERR, "cannot allocate base for %s:%d", gconf.ip, gconf.port); return 1; } then used it everywhere to create the bug i connect frenzy to the server using a while true; Notice: if the program do not close the FD i exhaust the files desc before reaching the bug. -- --------------------------------------------------------------------------------------------------------------------- () ascii ribbon campaign - against html e-mail /\