So device driver implementation of sync_control is supposed to check group
id or something like that? Otherwise I can't see any way to separate devices
from different groups.

Regards,
          Zakhar Levchenko


On 6/8/08, Hannu Savolainen <[EMAIL PROTECTED]> wrote:
>
> Zakhar Levchenko wrote:
> > Saying about multi process issues I meant the following situation:
> > Suppose a souncard has 3 sub-devices 1, 2, 3.
> > There are two processes that create two different syncgroups, the
> > first group contains only subdevices 1 and 2, the second group
> > contains only subdevice 3.
> > Suppose they try to start their syncgroups in parallel, suppose
> > sync_controls are executed in the following order:
> > SYNC_PREPARE for sub-device 1 (1st process)
> > SYNC_PREPARE for sub-device 2 (1st process)
> > SYNC_PREPARE for sub-device 3 (2nd process)
>
> Ok so far.
>
> > SYNC_TRIGGER for sub-device 1 (1st process)
> > SYNC_TRIGGER for sub-device 3 (2nd process)
> > SYNC_TRIGGER for sub-device 2 (1st process)
> > (the last two calls are executed in "reversed" order)
>
> This is impossible. 1st process can only call SYNC_TRIGGER for
> sub-device 1 which is the group head for the sync group it has created.
> This call will start sub-device 1&2 which share the same group ID.
> SYNC_TRIGGER for sub device 2 will fail because the group has already
> been started.
>
> Process 2 cannot call SYNC_TRIGGER for any of the other devices (3).
>
> 2nd process can only start sub-device 3.  This is completely independent
> from what the 1st process has done.
>
> So process 1 can start sub-devices 1&2. Process 2 can start only
> sub-device 3. Process 1 cannot touch sub-device 3 and process 2 cannot
> touch 1&2.
>
>
> Best regards,
>
> Hannu
> _______________________________________________
> oss-devel mailing list
> oss-devel@mailman.opensound.com
> http://mailman.opensound.com/mailman/listinfo/oss-devel
>
_______________________________________________
oss-devel mailing list
oss-devel@mailman.opensound.com
http://mailman.opensound.com/mailman/listinfo/oss-devel

Reply via email to