MCPcopy Create free account
hub / github.com/F-Stack/f-stack / ff_hook_epoll_create

Function ff_hook_epoll_create

adapter/syscall/ff_hook_syscall.c:1917–1947  ·  view source on GitHub ↗

* Use F-Stack stack by default. * * If fdsize set SOCK_KERNEL(0x01000000) and not set SOCK_FSTACK(0x02000000), means use kernel stack. * And the max fdsize shoud be <= (SOCK_KERNEL - 1). * * If fdsize set [1, 16], means use kernel stack, need to consider a better implementation. */

Source from the content-addressed store, hash-verified

1915 * If fdsize set [1, 16], means use kernel stack, need to consider a better implementation.
1916 */
1917int
1918ff_hook_epoll_create(int fdsize)
1919{
1920
1921 ERR_LOG("ff_hook_epoll_create, fdsize:%d\n", fdsize);
1922 if (inited == 0 || ((fdsize & SOCK_KERNEL) && !(fdsize & SOCK_FSTACK))/* || (fdsize >= 1 && fdsize <= 16)*/) {
1923 fdsize &= ~SOCK_KERNEL;
1924 return ff_linux_epoll_create(fdsize);
1925 }
1926
1927 DEFINE_REQ_ARGS(epoll_create);
1928
1929 args->size = size;
1930
1931 SYSCALL(FF_SO_EPOLL_CREATE, args);
1932
1933 if (ret >= 0) {
1934#ifdef FF_KERNEL_EVENT
1935 int kernel_fd;
1936
1937 kernel_fd = ff_linux_epoll_create(fdsize);
1938 fstack_kernel_fd_map[ret] = kernel_fd;
1939 ERR_LOG("ff_hook_epoll_create fstack fd:%d, FF_KERNEL_EVENT kernel_fd:%d:\n", ret, kernel_fd);
1940#endif
1941 ret = convert_fstack_fd(ret);
1942 }
1943
1944 ERR_LOG("ff_hook_epoll_create return fd:%d\n", ret);
1945
1946 RETURN();
1947}
1948
1949int
1950ff_hook_epoll_ctl(int epfd, int op, int fd,

Callers

nothing calls this directly

Calls 2

ff_linux_epoll_createFunction · 0.85
convert_fstack_fdFunction · 0.70

Tested by

no test coverage detected