I do understand, and the problem is that your question is similar to asking how to get a memory pointer from systemd for your program.
The short answer is, not doable.
The bit longer answer is that /usr/sbin/dovecot is a fancy service supervisor, it's job is to launch and manage processes, it won't give you persistence service for data.
Aki
On 14/03/2024 07:49 EET Joan Moreau via dovecot dovecot@dovecot.org wrote:
No, you don´t understand
There is a core process (/usr/bin/dovecot) running all the time. So I want to allocate a memory block, the core process keep it and it is retrievable by the pluging when laded again
At exit of /usr/bin/dovecot, it just does a "delete()" of the said allocation
On 2024-03-14 13:25, Aki Tuomi via dovecot wrote:
Hi!
Sorry but that's just not possible, ther is no "core" where to create such object. There is no "dovecot" where to store things.
When user logs in, dovecot executes /usr/libexec/dovecot/imap and transfers the connection fd there. then plugins and stuff are loaded, and the user does what he does, and then plugins and stuff are unloaded and process exists and no longer exists in memory.
You are clearly asking about memory persistence between sessions, and this can be done with
a) services (internal or external), such as redis, sql, or something else b) storing things to disk
Aki
On 13/03/2024 18:45 EET Joan Moreau via dovecot dovecot@dovecot.org wrote:
No, I am not referring to that
I want to create an object at first call in memory
that object would be retrievable at second and furthers calls of the plugin, as long as dovecot is running
On 2024-03-13 16:29, Aki Tuomi via dovecot wrote:
Not really no. You should use e.g. dict inteface for storing this kind of stateful data. When deinit is called the calling core process will likely die too.
Aki
On 13/03/2024 10:19 EET Joan Moreau jom@grosjo.net wrote:
Keep a pointer in memory retrievable each time a plugin is called
So the plugin keep the memory, not has to restart everything at each call
On 12 March 2024 08:53:38 Aki Tuomi via dovecot dovecot@dovecot.org wrote:
On 11/03/2024 10:42 EET Joan Moreau jom@grosjo.net wrote:
Hi Is it possible, from a plugin perspective, to create and recover a pointer in the core process (i.e. memory not lost between 2 calls to the plugin, even after the "deinit" of the plugin" ) ?
Thanks Hi Joan!
May I ask what you are attempting to achieve in more detail?
Aki
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.orgNo, I am not referring to that I want to create an object at first call in memory that object would be retrievable at second and furthers calls of the plugin, as long as dovecot is running
On 2024-03-13 16:29, Aki Tuomi via dovecot wrote: Not really no. You should use e.g. dict inteface for storing this kind of stateful data. When deinit is called the calling core process will likely die too.
Aki
On 13/03/2024 10:19 EET Joan Moreau jom@grosjo.net wrote:
Keep a pointer in memory retrievable each time a plugin is called
So the plugin keep the memory, not has to restart everything at each call
On 12 March 2024 08:53:38 Aki Tuomi via dovecot dovecot@dovecot.org wrote:
On 11/03/2024 10:42 EET Joan Moreau jom@grosjo.net wrote:
Hi Is it possible, from a plugin perspective, to create and recover a pointer in the core process (i.e. memory not lost between 2 calls to the plugin, even after the "deinit" of the plugin" ) ?
Thanks
Hi Joan!
May I ask what you are attempting to achieve in more detail?
Aki
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot- leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.orgNo, you don´t understand There is a core process (/usr/bin/dovecot) running all the time. So I want to allocate a memory block, the core process keep it and it is retrievable by the pluging when laded again At exit of /usr/bin/dovecot, it just does a "delete()" of the said allocation
On 2024-03-14 13:25, Aki Tuomi via dovecot wrote: Hi!
Sorry but that's just not possible, ther is no "core" where to create such object. There is no "dovecot" where to store things. When user logs in, dovecot executes /usr/libexec/dovecot/imap and transfers the connection fd there. then plugins and stuff are loaded, and the user does what he does, and then plugins and stuff are unloaded and process exists and no longer exists in memory. You are clearly asking about memory persistence between sessions, and this can be done with a) services (internal or external), such as redis, sql, or something else b) storing things to disk Aki On 13/03/2024 18:45 EET Joan Moreau via dovecot <dovecot@dovecot.org> wrote: No, I am not referring to that I want to create an object at first call in memory that object would be retrievable at second and furthers calls of the plugin, as long as dovecot is running On 2024-03-13 16:29, Aki Tuomi via dovecot wrote: Not really no. You should use e.g. dict inteface for storing this kind of stateful data. When deinit is called the calling core process will likely die too. Aki On 13/03/2024 10:19 EET Joan Moreau <jom@grosjo.net> wrote: Keep a pointer in memory retrievable each time a plugin is called So the plugin keep the memory, not has to restart everything at each call On 12 March 2024 08:53:38 Aki Tuomi via dovecot <dovecot@dovecot.org> wrote: On 11/03/2024 10:42 EET Joan Moreau <jom@grosjo.net> wrote: Hi Is it possible, from a plugin perspective, to create and recover a pointer in the core process (i.e. memory not lost between 2 calls to the plugin, even after the "deinit" of the plugin" ) ? Thanks Hi Joan! May I ask what you are attempting to achieve in more detail? Aki _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot- leave@dovecot.org _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot- leave@dovecot.orgNo, I am not referring to that I want to create an object at first call in memory that object would be retrievable at second and furthers calls of the plugin, as long as dovecot is running On 2024-03-13 16:29, Aki Tuomi via dovecot wrote: Not really no. You should use e.g. dict inteface for storing this kind of stateful data. When deinit is called the calling core process will likely die too. Aki On 13/03/2024 10:19 EET Joan Moreau <jom@grosjo.net> wrote: Keep a pointer in memory retrievable each time a plugin is called So the plugin keep the memory, not has to restart everything at each call On 12 March 2024 08:53:38 Aki Tuomi via dovecot <dovecot@dovecot.org> wrote: On 11/03/2024 10:42 EET Joan Moreau <jom@grosjo.net> wrote: Hi Is it possible, from a plugin perspective, to create and recover a pointer in the core process (i.e. memory not lost between 2 calls to the plugin, even after the "deinit" of the plugin" ) ? Thanks Hi Joan! May I ask what you are attempting to achieve in more detail? Aki _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot- leave@dovecot.org _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot- leave@dovecot.org _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org _______________________________________________ dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org