Date: Mon, 9 Jun 2014 14:18:24 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r267270 - in projects/sendfile/sys: kern sys Message-ID: <201406091418.s59EIOZ9035586@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Mon Jun 9 14:18:24 2014 New Revision: 267270 URL: http://svnweb.freebsd.org/changeset/base/267270 Log: Add new protocol method pru_ready. The method is used to wake up a socket after pru_send with not ready data had been done before. The arguments should be pointer to mbuf that is already in the socket buffer, and a count of mbufs to set ready. Sponsored by: Netflix Sponsored by: Nginx, Inc. Modified: projects/sendfile/sys/kern/uipc_domain.c projects/sendfile/sys/kern/uipc_socket.c projects/sendfile/sys/sys/protosw.h Modified: projects/sendfile/sys/kern/uipc_domain.c ============================================================================== --- projects/sendfile/sys/kern/uipc_domain.c Mon Jun 9 13:53:37 2014 (r267269) +++ projects/sendfile/sys/kern/uipc_domain.c Mon Jun 9 14:18:24 2014 (r267270) @@ -152,6 +152,7 @@ protosw_init(struct protosw *pr) DEFAULT(pu->pru_sosend, sosend_generic); DEFAULT(pu->pru_soreceive, soreceive_generic); DEFAULT(pu->pru_sopoll, sopoll_generic); + DEFAULT(pu->pru_ready, pru_ready_notsupp); #undef DEFAULT if (pr->pr_init) (*pr->pr_init)(); Modified: projects/sendfile/sys/kern/uipc_socket.c ============================================================================== --- projects/sendfile/sys/kern/uipc_socket.c Mon Jun 9 13:53:37 2014 (r267269) +++ projects/sendfile/sys/kern/uipc_socket.c Mon Jun 9 14:18:24 2014 (r267270) @@ -3086,6 +3086,13 @@ pru_send_notsupp(struct socket *so, int return EOPNOTSUPP; } +int +pru_ready_notsupp(struct socket *so, struct mbuf *m, int count) +{ + + return (EOPNOTSUPP); +} + /* * This isn't really a ``null'' operation, but it's the default one and * doesn't do anything destructive. Modified: projects/sendfile/sys/sys/protosw.h ============================================================================== --- projects/sendfile/sys/sys/protosw.h Mon Jun 9 13:53:37 2014 (r267269) +++ projects/sendfile/sys/sys/protosw.h Mon Jun 9 14:18:24 2014 (r267270) @@ -210,6 +210,7 @@ struct pr_usrreqs { #define PRUS_EOF 0x2 #define PRUS_MORETOCOME 0x4 #define PRUS_NOTREADY 0x8 + int (*pru_ready)(struct socket *so, struct mbuf *m, int count); int (*pru_sense)(struct socket *so, struct stat *sb); int (*pru_shutdown)(struct socket *so); int (*pru_flush)(struct socket *so, int direction); @@ -253,6 +254,7 @@ int pru_rcvd_notsupp(struct socket *so, int pru_rcvoob_notsupp(struct socket *so, struct mbuf *m, int flags); int pru_send_notsupp(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, struct mbuf *control, struct thread *td); +int pru_ready_notsupp(struct socket *so, struct mbuf *m, int count); int pru_sense_null(struct socket *so, struct stat *sb); int pru_shutdown_notsupp(struct socket *so); int pru_sockaddr_notsupp(struct socket *so, struct sockaddr **nam);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406091418.s59EIOZ9035586>