libevent-2.0.10 のマルチスレッド対応
libevent 2系では、本体でマルチスレッド対応がなされているようです。
ただ、libevent 1系と同じAPIを使ってはだめなようで、
↓
event_base = event_init();
event_base = event_base_new();
↓
evhttp = evhttp_start("localhost", 80);
evhttp = evhttp_new();
evhttp_bind_socket(evhttp, "localhost", 80);
などとする必要があるみたいです。
あとディスパッチも、
event_base_loop(event_base, 0);
これで、複数のスレッドから event_base をさわっても内部でロックしてくれるのかと思いきや、
やっぱりタイミングによって落ちます。
うーん、もう一回読み直してみるか。