[alsa-devel] Problems with 32 bit apps on 64 bit OS using dmix and snd-ioctl32
James Pearson
james-p at moving-picture.com
Thu Sep 6 14:15:11 CEST 2007
Takashi Iwai wrote:
>
> Ah, I see the point.
>
> With ALSA 1.0.15rc1, we can safely uncomment #if 0 .. #endif in
> timer32_new.c and timer32_old.c. These no longer conflict with
> existing ioctls. I forgot about it.
>
> The patch is below.
>
>
> Takashi
>
> diff -r adfe4179d670 acore/ioctl32/timer32_new.c
> --- a/acore/ioctl32/timer32_new.c Fri Aug 31 12:22:35 2007 +0200
> +++ b/acore/ioctl32/timer32_new.c Thu Sep 06 14:06:40 2007 +0200
> @@ -88,18 +88,11 @@ struct ioctl32_mapper timer_mappers[] =
> { SNDRV_TIMER_IOCTL_INFO32, AP(timer_info) },
> MAP_COMPAT(SNDRV_TIMER_IOCTL_PARAMS),
> { SNDRV_TIMER_IOCTL_STATUS32, AP(timer_status) },
> -#if 0
> - /* ** FIXME **
> - * The following four entries are disabled because they conflict
> - * with the TCOC* definitions.
> - * Unfortunately, the current ioctl32 wrapper uses a single
> - * hash table for all devices. Once when the wrapper is fixed
> - * with the table based on devices, they'll be back again.
> - */
> + /* The ioctls are changed, so we can enable them again */
> + /* The old ioctls conflict with TIOC_* definitions */
> MAP_COMPAT(SNDRV_TIMER_IOCTL_START),
> MAP_COMPAT(SNDRV_TIMER_IOCTL_STOP),
> MAP_COMPAT(SNDRV_TIMER_IOCTL_CONTINUE),
> MAP_COMPAT(SNDRV_TIMER_IOCTL_PAUSE),
> -#endif
> { 0 },
> };
> diff -r adfe4179d670 acore/ioctl32/timer32_old.c
> --- a/acore/ioctl32/timer32_old.c Fri Aug 31 12:22:35 2007 +0200
> +++ b/acore/ioctl32/timer32_old.c Thu Sep 06 14:06:40 2007 +0200
> @@ -88,18 +88,11 @@ struct ioctl32_mapper timer_mappers[] =
> { SNDRV_TIMER_IOCTL_INFO32, AP(timer_info) },
> MAP_COMPAT(SNDRV_TIMER_IOCTL_PARAMS),
> { SNDRV_TIMER_IOCTL_STATUS32, AP(timer_status) },
> -#if 0
> - /* ** FIXME **
> - * The following four entries are disabled because they conflict
> - * with the TCOC* definitions.
> - * Unfortunately, the current ioctl32 wrapper uses a single
> - * hash table for all devices. Once when the wrapper is fixed
> - * with the table based on devices, they'll be back again.
> - */
> + /* The ioctls are changed, so we can enable them again */
> + /* The old ioctls conflict with TIOC_* definitions */
> MAP_COMPAT(SNDRV_TIMER_IOCTL_START),
> MAP_COMPAT(SNDRV_TIMER_IOCTL_STOP),
> MAP_COMPAT(SNDRV_TIMER_IOCTL_CONTINUE),
> MAP_COMPAT(SNDRV_TIMER_IOCTL_PAUSE),
> -#endif
> { 0 },
> };
Thanks!
I guess this change also needs to go into the next rc ...
James
More information about the Alsa-devel
mailing list