Ejemplo n.º 1
0
 // 程序退出释放动态加载的库
 static void __sqlite_dll_unload(void)
 {
	 if (__sqlite_dll != NULL)
	 {
		 acl_dlclose(__sqlite_dll);
		 __sqlite_dll = NULL;
		 logger("sqlite3.dll unload ok");
	 }
 }
Ejemplo n.º 2
0
// 程序退出时释放动态加载的 zlib.dll 库
static void __zlib_dll_unload(void)
{
	if (__zlib_dll != NULL)
	{
		acl_dlclose(__zlib_dll);
		__zlib_dll = NULL;
		logger("zlib.dll unload ok");
	}
}
Ejemplo n.º 3
0
// 程序退出时释放动态加载的 iconv.dll 库
static void __iconv_dll_unload(void)
{
	if (__iconv_dll != NULL)
	{
		acl_dlclose(__iconv_dll);
		__iconv_dll = NULL;
		logger("iconv.dll unload ok");
	}
}
Ejemplo n.º 4
0
// 程序退出释放动态加载的库
static void __pgsql_dll_unload(void)
{
	if (__pgsql_dll != NULL)
	{
		acl_dlclose(__pgsql_dll);
		__pgsql_dll = NULL;
		logger("%s unload ok", __pgsql_path.c_str());
	}
}
Ejemplo n.º 5
0
// 程序退出释放动态加载的库
static void __mysql_dll_unload(void)
{
	if (__mysql_dll != NULL)
	{
		acl_dlclose(__mysql_dll);
		__mysql_dll = NULL;
		logger("libmysql.dll unload ok");
	}
}
Ejemplo n.º 6
0
// 程序退出释放动态加载的库
static void __mysql_dll_unload(void)
{
	if (__mysql_dll != NULL)
	{
		// 即使主线程没有调用 mysql_thread_init 过程,这样做也是
		// 无害的,因为 libmysqlclient 内部会自动判断取得的线程
		// 局部变量是否有效
#ifdef ACL_UNIX
		if (__mysql_thread_end != NULL)
			__mysql_thread_end();

		if (__mysql_server_end != NULL)
		{
			__mysql_server_end();
			__mysql_server_end = NULL;
		}
#endif

		acl_dlclose(__mysql_dll);
		__mysql_dll = NULL;
		logger("%s unload ok", __mysql_path.c_str());
	}
}