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

noreply@sourceforge.net noreply@sourceforge.net
Sat, 31 Mar 2001 06:44:39 -0800


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: Open
Priority: 5
Submitted By: Christopher Lee (clee)
Assigned to: Nobody/Anonymous (nobody)
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: 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