From owner-cvs-src@FreeBSD.ORG Wed Jan 30 13:23:35 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E326516A417; Wed, 30 Jan 2008 13:23:35 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D346413C45B; Wed, 30 Jan 2008 13:23:35 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m0UDNZng045446; Wed, 30 Jan 2008 13:23:35 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m0UDNZPd045445; Wed, 30 Jan 2008 13:23:35 GMT (envelope-from rwatson) Message-Id: <200801301323.m0UDNZPd045445@repoman.freebsd.org> From: Robert Watson Date: Wed, 30 Jan 2008 13:23:34 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/tools/regression/sockets/unix_sorflush Makefile unix_sorflush.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jan 2008 13:23:36 -0000 rwatson 2008-01-30 13:23:34 UTC FreeBSD src repository Added files: tools/regression/sockets/unix_sorflush Makefile unix_sorflush.c Log: Add unix_sorflush, a regression test for the following scenario: - Process (a) is blocked in read on a socket waiting on data. - Process (b) is blocked in shutdown() on a socket waiting on (a). - Process (c) delivers a signal to (b) interrupting its wait. When the signal is delivered, the kernel panics as sblock() fails in sorflush(). Even if it didn't panic, shutdown() would block potentially indefinitely waiting for recv() to succeeded. Fixes to follow. Reported by: Jos Backus Revision Changes Path 1.1 +7 -0 src/tools/regression/sockets/unix_sorflush/Makefile (new) 1.1 +99 -0 src/tools/regression/sockets/unix_sorflush/unix_sorflush.c (new)