On Sat, 10 Apr 2021 10:22:18 +0200, Takashi Sakamoto wrote:
On Fri, Apr 09, 2021 at 04:18:00PM +0200, Takashi Iwai wrote:
On Fri, 09 Apr 2021 15:34:14 +0200, Jaroslav Kysela wrote:
Dne 09. 04. 21 v 12:59 Takashi Iwai napsal(a):
- add any mechanism to bind lifetime of user-defined element set to user process
At present, the lifetime of user-defined element set is bound to card itself. However, it's convenient to user processes to bind the lifetime to process itself. I add any mechanism for it.
For recent years I've made some patches in house but never arrive at the best one. In the patches, I utilize access flags but in general the maintenance of lifetime is not easy issue. I tackle again in this time.
It sounds interesting, but I don't know how easily you can manage it. The driver doesn't care much about the user process lifetime, but mostly concentrate on the file handle...
It should be easy to trace which process created the user element and automatically remove this element when the process close the file descriptor. Something like 'bind lifetime of the control to the active control file descriptor'.
If it's tied only with the file handle, it's easy. But I thought this is about the process?
The 'lifetime' relates any operations from userspace relevant to element. In the point, it's not so easy. It's better to see the list of ioctl request to ALSA control character device, guys.
I'm lost. What makes so difficult if the element is tied with the file descriptor? You'd nuke the corresponding element at snd_ctl_release(), and it should be enough.
If it's not tied with the file descriptor, it's indeed difficult, but it has nothing to do with the number of ioctl implementations.
Takashi