[Patches] [ python-Patches-412553 ] fix linuxaudiodev handling of EAGAIN

noreply@sourceforge.net noreply@sourceforge.net
Mon, 02 Apr 2001 11:00:53 -0700


Patches item #412553, was updated on 2001-03-30 12:06
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=412553&group_id=5470

Category: Modules
Group: None
>Status: Closed
Priority: 5
Submitted By: Christopher Lee (clee)
>Assigned to: Guido van Rossum (gvanrossum)
Summary: fix linuxaudiodev handling of EAGAIN

Initial Comment:
The linuxaudiodev write method uses a non-blocking call
to write data to the sound device.  When the buffer for
this device is full, it returns the EAGAIN error.  The
current linuxaudiodev lad_write code returns this as an
error and terminates the write.  This patch detects the
EAGAIN errno and retries the write.  It allows the
test_linuxaudiodev.py to be heard under my system (i686
linux 2.4.2 and 2.4.3)  

----------------------------------------------------------------------

>Comment By: Guido van Rossum (gvanrossum)
Date: 2001-04-02 11:00

Message:
Logged In: YES 
user_id=6380

Applied.  Unclear if it works; see CVS checkin.

----------------------------------------------------------------------

Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2001-04-02 10:32

Message:
Logged In: YES 
user_id=3066

This doesn't work for me (Linux 2.2.17).

----------------------------------------------------------------------

Comment By: Guido van Rossum (gvanrossum)
Date: 2001-04-02 08:51

Message:
Logged In: YES 
user_id=6380

I will look at this.  I am experiencing this very problem on
my machine so if this fixes it, I'm happy with the patch.

I'm deleting your first upload file now.

----------------------------------------------------------------------

Comment By: Christopher Lee (clee)
Date: 2001-03-31 06:44

Message:
Logged In: YES 
user_id=1426

I couldn't delete the first patch.  Instead I'm simply
uploading the second version based upon select().

Patch created by going to the src/Modules/ directory and
doing a: cvs diff -c linuxaudiodev.c

----------------------------------------------------------------------

Comment By: Christopher Lee (clee)
Date: 2001-03-31 06:39

Message:
Logged In: YES 
user_id=1426

I'm deleting the first patch because it is wasteful of CPU
cycles.  The updated patch uses select to wait for the
device to become available.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=412553&group_id=5470