diff --git a/include/re_main.h b/include/re_main.h index 34d7ab5a4..d8539dd53 100644 --- a/include/re_main.h +++ b/include/re_main.h @@ -44,6 +44,7 @@ void libre_close(void); int re_main(re_signal_h *signalh); void re_cancel(void); int re_debug(struct re_printf *pf, void *unused); +int re_nfds(void); int re_alloc(struct re **rep); int re_thread_attach(struct re *re); @@ -70,6 +71,7 @@ enum poll_method { }; int poll_method_set(enum poll_method method); +enum poll_method poll_method_get(void); enum poll_method poll_method_best(void); const char *poll_method_name(enum poll_method method); int poll_method_type(enum poll_method *method, const struct pl *name); diff --git a/src/main/main.c b/src/main/main.c index a6b472fc6..5d73cfbd6 100644 --- a/src/main/main.c +++ b/src/main/main.c @@ -1170,6 +1170,32 @@ int re_debug(struct re_printf *pf, void *unused) } +/** + * Get number of active file descriptors + * + * @return nfds + */ +int re_nfds(void) +{ + struct re *re = re_get(); + + return re ? re->nfds : 0; +} + + +/** + * Get current async I/O polling method. + * + * @return enum poll_method + */ +enum poll_method poll_method_get(void) +{ + struct re *re = re_get(); + + return re ? re->method : METHOD_NULL; +} + + /** * Set async I/O polling method. This function can also be called while the * program is running.