Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Select I/O queue backend using macro PJ_IOQUEUE_IMP #4260

Merged
merged 2 commits into from
Jan 22, 2025
Merged

Conversation

nanangizz
Copy link
Member

Currently switching an I/O queue backend need to re-run configure for GNU build system or modify the PJLIB project for Visual Studio. With this PR, the backend can be selected by setting macro PJ_IOQUEUE_IMP in config_site.h, the default is PJ_IOQUEUE_IMP_SELECT or using select(). Available backends are:

/** No/dummy I/O queue */
#define PJ_IOQUEUE_IMP_NONE 0
/** Using select() */
#define PJ_IOQUEUE_IMP_SELECT 1
/** Using epoll() (experimental) */
#define PJ_IOQUEUE_IMP_EPOLL 2
/** Using Windows I/O Completion Ports (experimental) */
#define PJ_IOQUEUE_IMP_IOCP 3
/** Using MacOS/BSD kqueue (experimental) */
#define PJ_IOQUEUE_IMP_KQUEUE 4
/** Using Windows UWP socket (deprecated) */
#define PJ_IOQUEUE_IMP_UWP 5
/** Using Symbian (deprecated) */
#define PJ_IOQUEUE_IMP_SYMBIAN 6

The existing configure params, --enable-epoll & --enable-kqueue, will still work.

Currently switching an I/O queue backend need to re-run configure for GNU build system or modify the PJLIB project for Visual Studio.
@nanangizz nanangizz merged commit 0899186 into master Jan 22, 2025
41 checks passed
@nanangizz nanangizz deleted the ioqueue-switch branch January 22, 2025 05:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants