[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