Date: Sun, 13 Jul 1997 20:10:35 -0700 From: Amancio Hasty <hasty@rah.star-gate.com> To: oliver.fromme@heim3.tu-clausthal.de (Oliver Fromme) Cc: multimedia@FreeBSD.ORG Subject: Re: guspnp9: /dev/dsp close() hangs Message-ID: <199707140310.UAA00830@rah.star-gate.com> In-Reply-To: Your message of "Mon, 14 Jul 1997 04:32:14 %2B0200." <199707140232.EAA16122@elch.heim4.tu-clausthal.de>
next in thread | previous in thread | raw e-mail | index | archive | help
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707140310.UAA00830>