Support 64bit plugin 07/289507/1 tizen_7.0
authorsangwook lee <sangwook96.lee@samsung.com>
Thu, 9 Mar 2023 02:42:55 +0000 (11:42 +0900)
committersangwook lee <sangwook96.lee@samsung.com>
Thu, 9 Mar 2023 02:42:55 +0000 (11:42 +0900)
Change-Id: I5ebe8c2d0b2da979c5dce6dc054f54d1ee6decb5
Signed-off-by: sangwook lee <sangwook96.lee@samsung.com>
src/plugin.c
src/plugin.h

index 2efe7d25160dc92520bbdb18a7c6bb3b2930f5dd..ee14893e49f90b9f6aff627c2e3c95af7cbce9af 100755 (executable)
@@ -91,10 +91,22 @@ static int load_plugin_not_default()
     plugin_init_proc = NULL;
     plugin_sync_proc = NULL;
     plugin_async_proc = NULL;
+    void* void_pointer;
+    if ((int)(sizeof(void_pointer)) == 8) {
+        g_plugin_handle = dlopen ( PLUGIN_PATH64, RTLD_NOW );
+    }
+    else {
+        g_plugin_handle = dlopen ( PLUGIN_PATH, RTLD_NOW );
+    }
 
-    g_plugin_handle = dlopen ( PLUGIN_PATH, RTLD_NOW );
+    //g_plugin_handle = dlopen ( PLUGIN_PATH, RTLD_NOW );
     if ( g_plugin_handle == NULL ) {
-        E ( "failed to dlopen(%s). error: %s\n", PLUGIN_PATH, dlerror() );
+        if ((int)(sizeof(void_pointer)) == 8) {
+             E ( "failed to dlopen(%s). error: %s\n", PLUGIN_PATH64, dlerror() );
+        }
+        else {
+            E ( "failed to dlopen(%s). error: %s\n", PLUGIN_PATH, dlerror() );
+        }
         return 0;
     }
 
@@ -160,6 +172,7 @@ void readxml() {
 void load_sdbd_plugin()
 {
     int ret;
+    void* void_pointer;
 
     plugin_cmd_hashtable = hashtable_create ( ht_size_31 );
 
@@ -172,8 +185,12 @@ void load_sdbd_plugin()
 
         I ( "using default plugin interface.\n" );
     } else {
-        D ( "using sdbd plugin interface.(%s)\n", PLUGIN_PATH );
-
+        if ((int)(sizeof(void_pointer)) == 8) {
+             D ( "using sdbd plugin interface.(%s)\n", PLUGIN_PATH64 );
+        }
+        else {
+             D ( "using sdbd plugin interface.(%s)\n", PLUGIN_PATH );
+        }
         plugin_init_proc ( plugin_event_handler, plugin_register_command );
         readxml();
     }
@@ -736,4 +753,4 @@ int request_extra_capability_to_plugin (char* out_buf, unsigned int out_len )
     }
 
     return success;
-}
\ No newline at end of file
+}
index 72345c6cf4f28f77f5befd393c61382984fd14f2..29dfde254b00c0a875e40b28712483aac2dccb2a 100755 (executable)
@@ -20,6 +20,8 @@
 #include "sdbd_plugin.h"
 
 #define PLUGIN_PATH        "/usr/lib/libsdbd_plugin.so"
+#define PLUGIN_PATH64      "/usr/lib64/libsdbd_plugin.so"
+
 #define PLUGIN_XML_PATH    "/etc/sdbd/commands.xml"
 
 extern char* extcmd;