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>