svn commit: r267270 - in projects/sendfile/sys: kern sys
Gleb Smirnoff
glebius at FreeBSD.org
Mon Jun 9 14:18:25 UTC 2014
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);
More information about the svn-src-projects
mailing list