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