taglinefilesource code
newsock43net/kern_sock.hint (*dup)(struct socket *newsock, struct socket *oldsock);
newsock50net/kern_sock.hint (*accept)(struct socket *sock, struct socket *newsock);
newsock570net/socket.cstruct socket *sock, *clientsock, *newsock;
newsock599net/socket.cif (!(newsock = sock_alloc(0))) {
newsock603net/socket.cnewsock->type = sock->type;
newsock604net/socket.cnewsock->ops = sock->ops;
newsock605net/socket.cif ((i = sock->ops->dup(newsock, sock)) < 0) {
newsock606net/socket.csock_release(newsock);
newsock610net/socket.cif ((fd = get_fd(SOCK_INODE(newsock))) < 0) {
newsock611net/socket.csock_release(newsock);
newsock621net/socket.cnewsock->conn = clientsock;
newsock622net/socket.cclientsock->conn = newsock;
newsock624net/socket.cnewsock->state = SS_CONNECTED;
newsock625net/socket.cnewsock->ops->accept(sock, newsock);
newsock627net/socket.csock, newsock, clientsock);
newsock629net/socket.cnewsock->ops->getname(newsock, upeer_sockaddr,
newsock44net/unix.cstatic int unix_proto_dup(struct socket *newsock, struct socket *oldsock);
newsock51net/unix.cstatic int unix_proto_accept(struct socket *sock, struct socket *newsock);
newsock187net/unix.cunix_proto_dup(struct socket *newsock, struct socket *oldsock)
newsock191net/unix.creturn unix_proto_create(newsock, upd->protocol);
newsock340net/unix.cunix_proto_accept(struct socket *sock, struct socket *newsock)
newsock343net/unix.csock, newsock);
newsock344net/unix.cunix_data_ref(UN_DATA(newsock->conn));
newsock345net/unix.cUN_DATA(newsock)->peerupd = UN_DATA(newsock->conn);