How to get a memory pointer in the core process
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 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
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
On 11/03/2024 12:53 EET Aki Tuomi aki.tuomi@open-xchange.com 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
Resending.
Aki
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
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
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
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.org
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.org
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
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.org
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.org
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
On 14/03/2024 02:49, Joan Moreau via dovecot 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
While I cannot help you with plugin writing or dovecot internals, this does seem like an example of the XY problem[0]. Perhaps if you provide a high level description of what you're attempting to do someone might come up with a way to achieve that.
[0] https://en.wikipedia.org/wiki/XY_problem
-- Eduardo M KALINOWSKI eduardo@kalinowski.com.br
Thanks Eduardo
I am trying to avoid closing/ reopening a file pointer to the exact same file between each call to the plugin
On 14 March 2024 20:08:37 Eduardo M KALINOWSKI via dovecot dovecot@dovecot.org wrote:
On 14/03/2024 02:49, Joan Moreau via dovecot 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
While I cannot help you with plugin writing or dovecot internals, this does seem like an example of the XY problem[0]. Perhaps if you provide a high level description of what you're attempting to do someone might come up with a way to achieve that.
[0] https://en.wikipedia.org/wiki/XY_problem
-- Eduardo M KALINOWSKI eduardo@kalinowski.com.br
dovecot mailing list -- dovecot@dovecot.org To unsubscribe send an email to dovecot-leave@dovecot.org
Thanks Eduardo
I am trying to avoid closing/ reopening a file pointer to the exact same file between each call to the plugin
On 14 March 2024 20:08:37 Eduardo M KALINOWSKI via dovecot dovecot@dovecot.org wrote:
On 14/03/2024 02:49, Joan Moreau via dovecot 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
While I cannot help you with plugin writing or dovecot internals,
this
does seem like an example of the XY problem[0]. Perhaps if you
provide a
high level description of what you're attempting to do someone might
come up with a way to achieve that.
[0] https://en.wikipedia.org/wiki/XY_problem
--
Eduardo M KALINOWSKI
eduardo@kalinowski.com.br
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-leave@dovecot.org
On 14.03.24 21:21, Joan Moreau wrote:
I am trying to avoid closing/ reopening a file pointer to the exact same file between each call to the plugin
That's still a "what" and not a "why". Long before you'll run into any serious resource problem, that file will be firmly seated in the disk cache and (r/o) accessing it will *effectively* be done in RAM; probably still not quite as efficient as Shared Memory, but.
I seriously doubt that the dovecot developers will want to make their software into the plugins' new memory manager, replacing the kernel in that role - having a plugin run amok and cause the master dovecot process to abort due to OOM sounds like creating an even worse problem, frankly ...
Kind regards,
Jochen Bern Systemingenieur
Binect GmbH
participants (4)
-
Aki Tuomi
-
Eduardo M KALINOWSKI
-
Joan Moreau
-
Jochen Bern