From owner-freebsd-current@FreeBSD.ORG Wed Apr 20 11:12:10 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1F81B16A4FE; Wed, 20 Apr 2005 11:12:10 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 046D143D31; Wed, 20 Apr 2005 11:12:10 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from [127.0.0.1] (davidxu@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j3KBC7Za061183; Wed, 20 Apr 2005 11:12:08 GMT (envelope-from davidxu@freebsd.org) Message-ID: <4266390F.1090702@freebsd.org> Date: Wed, 20 Apr 2005 19:12:15 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.7.5) Gecko/20050402 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Matthew N. Dodd" References: <20050414164406.2bfbeff5@ale.varnet.bsd> <4261A7BE.3070606@freebsd.org><200504192011.57723.jkim@niksun.com> <20050419225811.A76920@sasami.jurai.net> In-Reply-To: <20050419225811.A76920@sasami.jurai.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-current@freebsd.org cc: freebsd-ports@freebsd.org cc: Jung-uk Kim Subject: Re: gnome can not shutdown X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Apr 2005 11:12:10 -0000 Matthew N. Dodd wrote: >>>> #1 0x0000000803f4a823 in connect () from /usr/lib/libthr.so.1 >>>> #2 0x000000080458d7b3 in esd_connect_unix () from >>>> /usr/local/lib/libesd.so.2 >>>> #3 0x000000080458dbeb in esd_open_sound () from >>>> /usr/local/lib/libesd.so.2 #4 0x0000000800f13c82 in >>> > > The problem starts in libesd. > > esd.c: > > int open_listen_socket(const char *hostname, int port ) > ... > socket_listen=socket(AF_UNIX, SOCK_STREAM, 0); > ... > { > int n = 1; > setsockopt(socket_listen, SOL_SOCKET, SO_REUSEADDR, &n, sizeof(n)); > /* if it fails, so what */ > } > > And continues through some header files... > > sys/socket.h: > > #define SO_REUSEADDR 0x0004 /* allow local address reuse */ > > sys/un.h: > > #define LOCAL_CONNWAIT 0x004 /* connects block until accepted */ > > And finally ends up in sys/kern/uipc_usrreq.c:uipc_ctloutput() where > we fail to check the 'level' argument to getsockopt(). > > Fix committed etc. > it works fine again, thanks! David Xu