Andy Pan
Andy Pan
### What this PR mainly does is: 1. Refactor the `anetCreateSocket()` to make it more generic for more socket arguments, and use `SOCK_NONBLOCK` if available, which will reduce two system...
`epoll_pwait2()` was introduced in Linux kernel 5.11, it extends `epoll_wait()`/`epoll_pwait()` by allowing the `timeout` to be specified with a higher resolution, as a `timespec` type, providing nanosecond precision. By using...
Follow up #13104 This PR will enable `accept4()` on DragonFlyBSD and fix the failures of determining the presence of `accept4()` due to the missing ### References - [param.h in DragonFlyBSD](https://github.com/DragonFlyBSD/DragonFlyBSD/blob/7485684fa5c3fadb6c7a1da0d8bb6ea5da4e0f2f/sys/sys/param.h#L129-L257)...
### What this PR mainly does is: 1. Refactor the `anetCreateSocket()` to make it more generic for more socket arguments, and use `SOCK_NONBLOCK` if available, which will reduce two system...
This PR will enable `accept4()` on DragonFlyBSD and fix the failures of determining the presence of `accept4()` due to the missing ### References - [param.h in DragonFlyBSD](https://github.com/DragonFlyBSD/DragonFlyBSD/blob/7485684fa5c3fadb6c7a1da0d8bb6ea5da4e0f2f/sys/sys/param.h#L129-L257) - [param.h in...
### Description of new feature For the time being, most of `gnet.Conn`'s methods are not concurrency-safe, which may result in some inconvenience and limitations, or performance issues like #423. Hence,...
SO_REUSEADDR and SO_REUSEPORT are not supported for TCP and UDP sockets. Setting them on Unix socket via `setsockopt` somehow doesn't report an error, but it actually won't work. ## References...
Before this PR, `pipe2()` is only enabled on Linux and FreeBSD while `pipe2()` is available on *BSD. This PR enables `pipe2()` for the rest of *BSD: DragonFlyBSD, NetBSD and OpenBSD....
Currently, we use select(2) on DragonFlyBSD while `kqueue` is available on DragonFlyBSD since FreeBSD 4.1 and DragonFlyBSD was originally forked from FreeBSD 4.8 `select(2)` is a pretty old technique that...
`kqueue` has the capability of batch applying events: > The kevent,() kevent64() and kevent_qos() system calls are used to register events with the queue, and return any pending events to...