static void ss_listener_event_func(int _fd, unsigned ev, void *_l) { asocket *s; if(ev & FDE_READ) { struct sockaddr addr; socklen_t alen; int fd; alen = sizeof(addr); fd = adb_socket_accept(_fd, &addr, &alen); if(fd < 0) return; adb_socket_setbufsize(fd, CHUNK_SIZE); s = create_local_socket(fd); if(s) { connect_to_smartsocket(s); return; } adb_close(fd); } }
static void CloseRdHupSocketThreadFunc(CloseRdHupSocketArg* arg) { asocket* s = create_local_socket(arg->socket_fd); ASSERT_TRUE(s != nullptr); fdevent_loop(); }