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>

next in thread | raw e-mail | index | archive | help
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?19970713171149.34096>