mirror of
https://github.com/alsa-project/alsa-utils
synced 2024-11-09 17:35:42 +01:00
axfer: fix regression of timeout in timer-based scheduling model
In timer-based scheduling model, event waiting is just to measure time elapse since no event is expected to occur. However, as a result to applying commite5e6a7838b
, -ETIMEDOUT returns in the case and the caller handles it as error. This results in disorder of the scheduling model. This commit fixes the regression so that the -ETIMEDOUT case is expected. Reported-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com> Link: https://lore.kernel.org/alsa-devel/687f9871-7484-1370-04d1-9c968e86f72b@linux.intel.com/ Fixes:e5e6a7838b
("axfer: return ETIMEDOUT when no event occurs after waiter expiration") Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
76b4af2616
commit
9af7148fa3
1 changed files with 2 additions and 1 deletions
|
@ -171,7 +171,8 @@ static int timer_mmap_process_frames(struct libasound_state *state,
|
|||
// exactly the mechanism yet.
|
||||
err = xfer_libasound_wait_event(state, timeout_msec,
|
||||
&revents);
|
||||
if (err < 0)
|
||||
// MEMO: timeout is expected since the above call is just to measure time elapse.
|
||||
if (err < 0 && err != -ETIMEDOUT)
|
||||
return err;
|
||||
if (revents & POLLERR) {
|
||||
// TODO: error reporting.
|
||||
|
|
Loading…
Reference in a new issue