Some time ago I said about
the bug of terminating external module. I've fixed it and changed the logic of quiting from external module as follows.
If exit is initiated from external module it just close their stdout and finish running. Yate as soon as get EOF trying to check is pid terminated or not and waiting up to m_timeout. If EOF was get from socket nothing to wait.
If exit initiated from Yate the engine send to external module
%%<quit message and waiting EOF/pid termination as described above.
%%>quit from external module to Yate I've make redundant. But it's possible to interpret it as a "kill me" signal without waiting and without
%%<quit as a reply. Let me know how it must be.
The approach let external modules to handle quit messages. It is useful for example if external module registers external lines through
user.login message: it's may be important to unregister lines on module quiting (
operation=logout).
I'm new in Yate and would like how can I share described improvements? How can I commit it and to know is it a needed feature?