From owner-cvs-all Tue Nov 30 15:52:42 1999 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.ORG [204.216.27.21]) by hub.freebsd.org (Postfix) with ESMTP id 2213F158C9; Tue, 30 Nov 1999 15:52:38 -0800 (PST) (envelope-from brian@FreeBSD.org) Received: (from brian@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id PAA56954; Tue, 30 Nov 1999 15:52:38 -0800 (PST) (envelope-from brian@FreeBSD.org) Message-Id: <199911302352.PAA56954@freefall.freebsd.org> From: Brian Somers Date: Tue, 30 Nov 1999 15:52:38 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/usr.sbin/ppp bundle.c command.c mp.c Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk brian 1999/11/30 15:52:37 PST Modified files: usr.sbin/ppp bundle.c command.c mp.c Log: Change the way we transfer links (again). The previous method avoided all race conditions, but suffered from sometimes running out of buffer space if enough clients were piled up at the same time. Now, the client pushes the link descriptor, one end of a socketpair() and the ppp version via sendmsg() at the server. The server replies with a pid. The client then transfers any link lock with uu_lock_txfr() and writev()s the actual link contents. The socketpair is now the only place we need to have large socket buffers and the bind()ed socket can keep the default 4k buffer while still handling around 90 racing clients. Revision Changes Path 1.78 +84 -29 src/usr.sbin/ppp/bundle.c 1.225 +2 -2 src/usr.sbin/ppp/command.c 1.34 +5 -15 src/usr.sbin/ppp/mp.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message