Date: Sun, 13 Jul 1997 15:25:39 -0700 From: Amancio Hasty <hasty@rah.star-gate.com> To: Randall Hopper <rhh@ct.picker.com> Cc: multimedia@FreeBSD.ORG Subject: Re: guspnp9: /dev/dsp close() hangs Message-ID: <199707132225.PAA00590@rah.star-gate.com> In-Reply-To: Your message of "Sun, 13 Jul 1997 17:11:49 EDT." <19970713171149.34096@ct.picker.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi,
I need a little more info.
in dmabuf.c:dma_sync
while (!(out_sleep_flag[dev].aborting)
&& audio_devs[dev]->dmap_out->qlen) {
int flag, chn;
printf("dmabuf %d \n", audio_devs[dev]->dmap_out->qlen);
Add the above printf and please send me the output of the last few
lines .
Tnks,
Amanco
>From The Desk Of Randall Hopper :
> Well, first thanks for your previous work on the lock-ups! I haven't
> crashed my machine Ctrl-Cing audio apps yet and I've sure been trying. :-)
>
> A related problem I am seeing though is that about 20% of the time,
> Ctrl-Cing a /dev/dsp play app causes the sound driver to block inside of
> close(). It doesn't hang the machine (thank goodness), just the app.
> E.g. with mpg123:
>
> ----> THESE LINES REPEAT (WRITE AUDIO DATA UNTIL DONE...):
> 566 mpg123 RET read 8192/0x2000
> 566 mpg123 CALL write(0x4,0x34000,0x8000)
> 566 mpg123 GIO fd 4 wrote 32768 bytes
>
> ----> CTRL-C HIT HERE...TRY TO CLOSE-UP SHOP:
> 566 mpg123 RET write 32768/0x8000
> 566 mpg123 CALL write(0x4,0x34000,0x8000)
> 566 mpg123 PSIG SIGINT caught handler=0x2a10 mask=0x0 code=0x0
> 566 mpg123 RET write -1 errno 4 Interrupted system call
> 566 mpg123 CALL sigreturn(0xefbfcae8)
> 566 mpg123 RET sigreturn JUSTRETURN
> 566 mpg123 CALL close(0x3)
> 566 mpg123 RET close 0
> 566 mpg123 CALL write(0x2,0xefbfcc64,0x28)
> 566 mpg123 GIO fd 2 wrote 40 bytes
> "[0:01] Decoding of things.mp2 finished.
> "
> 566 mpg123 RET write 40/0x28
> 566 mpg123 CALL gettimeofday(0xefbfd3a4,0)
> 566 mpg123 RET gettimeofday 0
> 566 mpg123 CALL write(0x4,0x34000,0xa00)
> 566 mpg123 GIO fd 4 wrote 2560 bytes
> <much raw data omitted here>
> 566 mpg123 RET write 2560/0xa00
> 566 mpg123 CALL close(0x4)
>
> ----> WE'RE NOW BLOCKED WAITING ON /DEV/DSP CLOSE...IT DOESN'T COME BACK
>
> ----> CTRL-C HIT AGAIN
> 566 mpg123 PSIG SIGINT caught handler=0x2a10 mask=0x0 code=0x0
> 566 mpg123 RET close 0
> 566 mpg123 CALL sigreturn(0xefbfd334)
> 566 mpg123 RET sigreturn JUSTRETURN
> 566 mpg123 CALL exit(0)
>
> Hope this helps. If you need more info, let me know.
>
> Thanks,
>
> Randall
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707132225.PAA00590>
