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