[erlang-questions] Reinserting a message into a gen_server's mailbox

Juan Jose Comellas <>
Thu Jul 29 23:04:19 CEST 2010

On Thu, Jul 29, 2010 at 4:37 PM, Gleb Peregud <> wrote:

> On Thu, Jul 29, 2010 at 21:31, Juan Jose Comellas <>
> wrote:
> > I'm aware that I can do a gen_server:reply/2 from any process, but I was
> > planning on issuing the gen_server:reply/2 calls from the gen_server
> process
> > because that's where I'll be queueing up the requests.
> Do you need this for doing some kind of throttling? Or to make sure
> that these requests are processed one by one serially?

Just to make sure that the requests are processed sequentially in the order
they were received.

> > I'm still curious, though, does the format of these internal messages
> ever
> > change? What happens if I use two different Erlang/OTP versions in my
> nodes?
> > Does the newer VM/library still accept the old version of the messages?
> gen_* message format is not documented. So there are no guarantees
> that they will not change, so you shouldn't rely on them unless you
> are ready to take the risk. AFAIR there's a promise that nodes which
> major version differ by one will work together in a cluster (e.g. R13
> would work with R14).

Have you seen this "promise" documented anywhere? I've always been hesitant
to have different Erlang versions in the nodes that run as a single system
specifically because I was not sure which versions were compatible at the
message format level.

> Gleb Peregud


More information about the erlang-questions mailing list