int srs_st_init() { int ret = ERROR_SUCCESS; #ifdef __linux__ // check epoll, some old linux donot support epoll. // @see https://github.com/simple-rtmp-server/srs/issues/162 if (!srs_st_epoll_is_supported()) { ret = ERROR_ST_SET_EPOLL; srs_error("epoll required on Linux. ret=%d", ret); return ret; } #endif // Select the best event system available on the OS. In Linux this is // epoll(). On BSD it will be kqueue. if (st_set_eventsys(ST_EVENTSYS_ALT) == -1) { ret = ERROR_ST_SET_EPOLL; srs_error("st_set_eventsys use %s failed. ret=%d", st_get_eventsys_name(), ret); return ret; } srs_trace("st_set_eventsys to %s", st_get_eventsys_name()); if(st_init() != 0) { ret = ERROR_ST_INITIALIZE; srs_error("st_init failed. ret=%d", ret); return ret; } srs_trace("st_init success, use %s", st_get_eventsys_name()); return ret; }
int srs_init_st() { int ret = ERROR_SUCCESS; // check epoll, some old linux donot support epoll. // @see https://github.com/simple-rtmp-server/srs/issues/162 if (!srs_st_epoll_is_supported()) { ret = ERROR_ST_SET_EPOLL; srs_error("epoll required. ret=%d", ret); return ret; } // use linux epoll. if (st_set_eventsys(ST_EVENTSYS_ALT) == -1) { ret = ERROR_ST_SET_EPOLL; srs_error("st_set_eventsys use linux epoll failed. ret=%d", ret); return ret; } srs_verbose("st_set_eventsys use linux epoll success"); if(st_init() != 0){ ret = ERROR_ST_INITIALIZE; srs_error("st_init failed. ret=%d", ret); return ret; } srs_verbose("st_init success"); return ret; }