Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Davis <paul@linuxaudiosystems.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Jaroslav Kysela <perex@suse.cz>, alsa-devel@lists.sourceforge.net
Subject: Re: The ALSA Situation
Date: Wed, 10 Nov 2004 16:13:21 -0500	[thread overview]
Message-ID: <200411102113.iAALDLUN001061@localhost.localdomain> (raw)
In-Reply-To: Your message of "Wed, 10 Nov 2004 11:09:07 PST." <Pine.LNX.4.58.0411101051240.2301@ppc970.osdl.org>

>That said, I don't see why a regular open() that doesn't wait shouldn't 
>act that way. I would suggest that "close()" wait for the buffer to drain, 
>unless interrupted by a signal. Again, this is how all other streaming 
>devices tend ot work - this is _not_ a new requirement.
>
>So if you have
>
>	#!/bin/sh
>	prog1
>	prog2
>	prog3
>
>and they all open the sound device, they _will_ be serialized by their
>closes. This is exactly why the VFS layer calls "->flush()" on each close,

i think you missed my point about program exit not being synonymous
with close(2). if prog1 closes the device but then does something else
for a while, prog2 doesn't run till prog1 exits (in the above shell
script). 

with the block-on-busy-open behaviour, prog2 runs but blocks on open
and then continues as soon as prog1 does the close(). with
EBUSY-on-busy and a script, prog2 doesn't run till prog1 exits.

btw, xmms is a sort-of relevant example of this. xmms opens and closes
the audio device several times during a typical use pattern, and
doesn't exit unless actually told explicitly to do so. so:

    xmms beep1
    otherprog beep2

would not actually do the right thing. one could fault xmms for this
behaviour, i suppose.

>Imagine a user that clicks on an icon to launch an application. What does
>he/she/it do when the app doesn't start? Clicks again. And again. Until
>bored. And then, five hours later, when xmms exits, you have a hundred
>applications suddenly all starting up at the same time. THAT is
>"non-obvious breakage".

100% agreed.

--p




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click

  reply	other threads:[~2004-11-10 21:13 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-10  0:24 The ALSA Situation Eugenia Loli-Queru
2004-11-10  1:50 ` Paul Davis
2004-11-10  2:38   ` Eugenia Loli-Queru
2004-11-10  2:55     ` Paul Davis
2004-11-10  5:59     ` Lee Revell
2004-11-10 23:22       ` James Courtier-Dutton
2004-11-10 10:57     ` Jaroslav Kysela
2004-11-10 16:09       ` Lee Revell
2004-11-10 16:43       ` Linus Torvalds
2004-11-10 17:30         ` Takashi Iwai
2004-11-10 18:08           ` Linus Torvalds
2004-11-10 17:45         ` Jaroslav Kysela
2004-11-10 18:15           ` Linus Torvalds
2004-11-10 18:41             ` Paul Davis
2004-11-10 19:09               ` Linus Torvalds
2004-11-10 21:13                 ` Paul Davis [this message]
2004-11-10 22:34                   ` Linus Torvalds
2004-11-10 23:53                     ` Fernando Pablo Lopez-Lezcano
2004-11-11  6:32                     ` Jaroslav Kysela
2004-11-11  6:42                       ` Linus Torvalds
2004-11-11 16:34                         ` Takashi Iwai
2004-11-11 16:58                           ` Linus Torvalds
2004-11-11 17:25                             ` Takashi Iwai
2004-11-11 18:23                               ` Linus Torvalds
2004-11-11 22:34                                 ` Manuel Jander
2004-11-12  8:57                                   ` Takashi Iwai
2004-11-12  8:51                                 ` Takashi Iwai
2004-11-12 15:50                                   ` Linus Torvalds
2004-11-12 22:06                                     ` Florian Schmidt
2004-11-13  1:15                                       ` Manuel Jander
2004-11-13 10:38                                         ` Jaroslav Kysela
2004-11-14  4:00                                           ` Manuel Jander
2004-11-20  2:16                                           ` Configuration system and Resource Manager. Was: " Manuel Jander
2004-11-13 10:42                                       ` Jaroslav Kysela
2004-11-13 12:11                                         ` Florian Schmidt
2004-11-13 18:01                                           ` Linus Torvalds
2004-12-02  1:48                                         ` Florian Schmidt
2004-11-12  9:07                                 ` Giuliano Pochini
2004-11-11 22:52                           ` Manuel Jander
2004-11-12 13:44                             ` Takashi Iwai
2004-11-10 22:00             ` Hannu Savolainen
2004-11-10 17:13 ` Giuliano Pochini
     [not found] <20041110235502.6C8211D2B2D@sc8-sf-uberspam1.sourceforge.net>
2004-11-11  8:56 ` Andreas Mohr
2004-11-11 15:50   ` Manuel Jander
     [not found] <20041112040611.8390B1D2669@sc8-sf-uberspam1.sourceforge.net>
2004-11-12  8:24 ` Andreas Mohr
2004-11-12 13:33   ` Manuel Jander
2004-11-12 15:06   ` Clemens Ladisch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200411102113.iAALDLUN001061@localhost.localdomain \
    --to=paul@linuxaudiosystems.com \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=perex@suse.cz \
    --cc=torvalds@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox