On 06/11/2009 05:21 AM, Bojan Smojver wrote: > On Thu, 2009-06-11 at 07:37 +1000, Bojan Smojver wrote: >> I think not, because after the if/else, we still have work to do. We >> need to find the symbol for our DB engine (either from the hash or by >> dso_load), which depends on type, which can be different from call to >> call. No? > > I verified this by running testdbm in GDB. Most definitely we can have a > situation where we need to get past that point. > > In my test, I had three providers: gdbm, db and sdbm. In the first > round, drivers hash was created and gdbm was loaded as DSO and put in > the hash. After that, we used gdbm once from the hash. Next, sdbm was > already found in the hash (because it is statically linked) and used > (twice). Finally, db was loaded as DSO and put in the hash and > subsequently used from the hash. >
I took another round of review again and your approach makes sense. Thanks for your further tests and explanations. Regards RĂ¼diger
