J'utilise libevent comme ça,Comment modifier l'événement inscrit dans Libevent?
client->m_event = event_new(listener->m_server->m_server_base, client->m_sockfd, EV_PERSIST, Client::ClientEventCallback, client);
event_add(client->m_event, NULL);
Mais je ne sais pas comment modifier le cas de m_event, il semble y avoir aucune interface pour fonctionner dans le manuel officiel, j'ai essayé de le faire comme ça, mais ça fait un core dump.
short event = event_get_events(m_event);
event_del(m_event);
event_assign(m_event, m_server->m_server_base, m_sockfd, event | EV_WRITE, Client::ClientEventCallback, this);
event_add(m_event, NULL);
ocurs de coredump à event_assign, s'il vous plaît aidez-moi ... comment modifier l'événement registed de l'événement struct?
Et je ne veux pas utiliser bufferevent, parce que j'ai ma propre machine statusmachine. Y at-il une bonne méthode pour résoudre ce problème, sauf libérer l'ancien et event_new le plus récent? Merci –