Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Jul 1997 17:11:49 -0400
From:      Randall Hopper <rhh@ct.picker.com>
To:        Amancio Hasty <hasty@rah.star-gate.com>
Cc:        multimedia@freebsd.org
Subject:   guspnp9: /dev/dsp close() hangs
Message-ID:  <19970713171149.34096@ct.picker.com>

index | next in thread | raw e-mail

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


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970713171149.34096>