From owner-freebsd-multimedia Sun Jul 13 20:10:46 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id UAA24312 for multimedia-outgoing; Sun, 13 Jul 1997 20:10:46 -0700 (PDT) Received: from rah.star-gate.com (rah.star-gate.com [204.188.121.18]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA24307 for ; Sun, 13 Jul 1997 20:10:43 -0700 (PDT) Received: from rah.star-gate.com (localhost.star-gate.com [127.0.0.1]) by rah.star-gate.com (8.8.5/8.8.5) with ESMTP id UAA00830; Sun, 13 Jul 1997 20:10:36 -0700 (PDT) Message-Id: <199707140310.UAA00830@rah.star-gate.com> X-Mailer: exmh version 2.0gamma 1/27/96 To: oliver.fromme@heim3.tu-clausthal.de (Oliver Fromme) cc: multimedia@FreeBSD.ORG Subject: Re: guspnp9: /dev/dsp close() hangs In-reply-to: Your message of "Mon, 14 Jul 1997 04:32:14 +0200." <199707140232.EAA16122@elch.heim4.tu-clausthal.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 13 Jul 1997 20:10:35 -0700 From: Amancio Hasty Sender: owner-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi, That helps a lot! The problem area is probably isolated to : dmabuf_outputintr. I asked Randall to place a printf in dmabuf.c:dma_sync: while (!(out_sleep_flag[dev].aborting) && audio_devs[dev]->dmap_out->qlen) { int flag, chn; printf("dmasync %d \n", audio_devs[dev]->dmap_out->qlen); ---- It seems that dma_sync gets stuck printing "1". Which means that we failed to process an output buffer. The only routine in dmabuf which decrements the qlen field for an output buffer is dmabuf_outputintr which gets called from sbxx_dsp.c : DMAbuf_outputintr(my_dev, 1); So one condition is not letting us decrement qlen or we didn't initiate properly the output buffer . For instance, incremented qlen however failed to start the actual output buffer. Tnks, Amancio >From The Desk Of Oliver Fromme : > > I wrote: > > [...] > > Using the soundrivers of 2.2.2 (Vox 2.9, I think) with an > > AWE32, I also experience hangs sometimes when /dev/dsp is > > closed, BUT only for about 10 seconds. It never blocks > > forever (maybe it checks for a timeout). > > Sorry, but I forgot to add that it does NOT only happen when > Ctrl-Cing the app, but also sometimes on close() at the > regular end of the app. So the problem seems not to be > related to the Ctrl-C. > > Regards > Oliver > > -- > Oliver Fromme, Leibnizstr. 18-61, 38678 Clausthal, Germany > (Info: finger userinfo:olli@dorifer.heim3.tu-clausthal.de)