Re: [petsc-dev] RegisterAllCalled visibility
On Fri, Dec 12, 2014 at 12:43 PM, Tobin Isaac <[email protected]> wrote:
Hi all,
I'm trying to learn about PETSc's dynamic library framework. I've noticed that XXXInitializePackage() routines are idempotent, but XXXRegisterAll() routines are not, and usually have a visible XXXRegisterAllCalled boolean to guard against multiple calls (but not always). Then there are comments that say "In general, if there is more than one DLL then XXXRegisterAll() may be called several times." I don't understand the different handling between initialization and registration, especially because the initialization routines generally call the registration routines. Any help?
That is just crappy engineering on our part. The RegisterAllCalled() should be idempotent just like PackageInitialize(). Does anyone disagree with this? Thanks, Matt
Thanks, Toby
-- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener
participants (1)
-
Matthew Knepley