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

Reply via email to