[alsa-devel] Problems with 32 bit apps on 64 bit OS using dmix and snd-ioctl32
Takashi Iwai
tiwai at suse.de
Thu Sep 6 15:06:22 CEST 2007
At Thu, 06 Sep 2007 13:15:11 +0100,
James Pearson wrote:
>
> 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 ...
Yeah, the patches were already merged to HG tree.
Takashi
More information about the Alsa-devel
mailing list