From owner-freebsd-multimedia Sun Jul 13 15:25:53 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id PAA10347 for multimedia-outgoing; Sun, 13 Jul 1997 15:25:53 -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 PAA10335 for ; Sun, 13 Jul 1997 15:25: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 PAA00590; Sun, 13 Jul 1997 15:25:39 -0700 (PDT) Message-Id: <199707132225.PAA00590@rah.star-gate.com> X-Mailer: exmh version 2.0gamma 1/27/96 To: Randall Hopper cc: multimedia@FreeBSD.ORG Subject: Re: guspnp9: /dev/dsp close() hangs In-reply-to: Your message of "Sun, 13 Jul 1997 17:11:49 EDT." <19970713171149.34096@ct.picker.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 13 Jul 1997 15:25:39 -0700 From: Amancio Hasty Sender: owner-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk 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 > > 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