а всякие out of memory
это утечки памяти - неотъемлимая вещь при написании сишных прог, про это я и писал:
тут без байтодроча и гарбейдж уборок ничего не выйдет толком
Спустя 3 минуты 17 секунд добавил
какая разница, если там поверх этого движок яваскрипта? засрет и память и проц
движок яваскрипта один раз запустится, а libev будет ловить колбеки, и даже если памяти больше нету - колбек просто не запустится, в ожидании пока уже запущенные колбеки не освободят ему память
Спустя 4 минуты 36 секунд добавил
https://github.com/studentIvan/RDMT/blob/master/Server/rdmt.pl вот можешь посмотреть как на EV пишутся сервера.
1. задаются колбеки на I/O
2. каждый колбек живет пока его переменная (event watcher) - жива в памяти
3. создается хеш с колбеками и при каждом новом коннекте connection id инкрементируется, соответветственно новые калбеки получат $хеш{'имяколбека' + $cId}
4. создается подгрузочный таймер-вотчер для авточистки памяти