Go to the source code of this file.
Functions | |
FENNEL_BEGIN_CPPFILE ("$Id: //open/dev/fennel/device/DeviceAccessScheduler.cpp#15 $") | |
static DeviceAccessScheduler * | dlopenAioLinuxScheduler (DeviceAccessSchedulerParams const ¶ms) |
FENNEL_END_CPPFILE ("$Id: //open/dev/fennel/device/DeviceAccessScheduler.cpp#15 $") |
static DeviceAccessScheduler* dlopenAioLinuxScheduler | ( | DeviceAccessSchedulerParams const & | params | ) | [static] |
Definition at line 49 of file DeviceAccessScheduler.cpp.
Referenced by DeviceAccessScheduler::newScheduler().
00051 { 00052 // TODO jvs 4-Sept-2006: add corresponding dlclose if anyone cares 00053 void *hLib = dlopen("libfennel_device_aio.so", RTLD_NOW | RTLD_GLOBAL); 00054 if (!hLib) { 00055 return NULL; 00056 } 00057 void *pFactory = dlsym(hLib, "newAioLinuxScheduler"); 00058 if (!pFactory) { 00059 return NULL; 00060 } 00061 typedef DeviceAccessScheduler *(*PDeviceAccessSchedulerFactory)( 00062 DeviceAccessSchedulerParams const &); 00063 PDeviceAccessSchedulerFactory pSchedulerFactory = 00064 (PDeviceAccessSchedulerFactory) pFactory; 00065 return (*pSchedulerFactory)(params); 00066 }
FENNEL_BEGIN_CPPFILE | ( | "$Id: //open/dev/fennel/device/DeviceAccessScheduler.cpp#15 $" | ) |
FENNEL_END_CPPFILE | ( | "$Id: //open/dev/fennel/device/DeviceAccessScheduler.cpp#15 $" | ) |