|
From: Geoffrey F. <fu...@us...> - 2001-05-26 21:20:14
|
Update of /cvsroot/plplot/plplot/src
In directory usw-pr-cvs1:/tmp/cvs-serv15572
Modified Files:
Tag: dyndrv_1
plcore.c
Log Message:
Reworked the initialization of the dispatch table. Instead of copying
over the static tables, we instead walk a statically defined list of
configured drivers. For each, we call the device specific dispatch
table initialization function to get the dispatch table wired up.
Finally, the dynloader was reworked so that it only pulls out the one
function name for the device-specific dispatch initialization function
from each driver. This function is then called, passing in the
dispatch table that needs to be filled in.
This means we only use the dynamic symbol search facility to extract a
single symbol from the driver per dynloadable device. This is simpler
than the old system, in which the dynloader itself would lookup the
symbols for all the dispatch init functions. That scheme suffered
however from making it hard to share common driver functions between
multiple devices (in the same driver). The new scheme makes it easy
for drivers to share common canonical driver entry functions between
multiple distinct devices associated with the same dynloadable driver.
|