Thanks for noticing this. I'm guessing that the implementation changed
awhile back and I forgot to change the comments.
I need to look at the code again the refresh my memory on how best to
implement this. Looking at ipmiconsole (the tool, not the lib) it seems
neither ipmiconsole_ctx_destroy() or ipmiconsole_engine_teardown()
block. I actually spin waiting for ipmiconsole_ctx_destroy() to return
a non-zero value back to me.
I'll modify the comments for now, and add blocking equivalents into my
Is this something that's needed soon on your end?
On Wed, 2007-06-27 at 18:22 -0600, Levi Pearson wrote:
> The comment in ipmiconsole.h for ipmiconsole_engine_teardown() says that
> the function will block until all active contexts are closed, but
> instead it seems to return immediately. After perusing the code, it
> does seem to trigger the closing of active connections and the death of
> the engine threads, but it does not appear to clean up the context
> objects themselves.
> This is fine--I can call ipmi_ctx_destroy() on them afterwards--but if I
> call ipmiconsole_engine_teardown() I have no way of knowing when the
> contexts have all closed their sessions so that I know it's safe to
> start cleaning them all up so I don't get failures due to active
> It would be nice to either have the blocking behavior advertised in
> ipmiconsole.h in ipmiconsole_engine_teardown() itself or an explicitly
> blocking version of it.
> Freeipmi-devel mailing list
High Performance Systems Division
Lawrence Livermore National Laboratory
Freeipmi-devel mailing list