gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r3538 - gnunet-gtk/src/common


From: grothoff
Subject: [GNUnet-SVN] r3538 - gnunet-gtk/src/common
Date: Sat, 21 Oct 2006 19:28:57 -0700 (PDT)

Author: grothoff
Date: 2006-10-21 19:28:55 -0700 (Sat, 21 Oct 2006)
New Revision: 3538

Modified:
   gnunet-gtk/src/common/helper.c
Log:
fix

Modified: gnunet-gtk/src/common/helper.c
===================================================================
--- gnunet-gtk/src/common/helper.c      2006-10-22 02:18:55 UTC (rev 3537)
+++ gnunet-gtk/src/common/helper.c      2006-10-22 02:28:55 UTC (rev 3538)
@@ -26,6 +26,7 @@
 
 #include "platform.h"
 #include "gnunetgtk_common.h"
+#include <GNUnet/gnunet_util_crypto.h>
 #include <glib.h>
 
 #define HELPER_DEBUG NO
@@ -68,7 +69,7 @@
 /**
  * the main thread
  */
-static struct PTHREAD_T * mainThread;
+static struct PTHREAD * mainThread;
 
 static SaveCall ** psc;
 
@@ -82,6 +83,8 @@
 
 static void * shutdown_function;
 
+static struct GE_Context * ectx;
+
 #ifdef WINDOWS
 static void CALLBACK sigalrmHandler(DWORD sig) {
 }
@@ -101,7 +104,7 @@
         break;
       }
     }
-    GNUNET_ASSERT(i != pscCount);
+    GE_ASSERT(NULL, i != pscCount);
     GROW(psc,
          pscCount,
          pscCount-1);
@@ -125,10 +128,10 @@
 
   MUTEX_LOCK(sclock);
   if ( (saveCallsUp == NO) ||
-       (! PTHREAD_SELF_TEST(mainThread)) ) {
+       (! PTHREAD_TEST_SELF(mainThread)) ) {
     call.args = args;
     call.func = func;
-    call.sem  = SEMAPHORE_NEW(0);
+    call.sem  = SEMAPHORE_CREATE(0);
     call.destroyed = 0;
     GROW(psc,
         pscCount,
@@ -139,7 +142,7 @@
     MUTEX_UNLOCK(sclock);
     PTHREAD_STOP_SLEEP(mainThread);
     SEMAPHORE_DOWN(call.sem, YES);
-    SEMAPHORE_FREE(call.sem, YES);
+    SEMAPHORE_DESTROY(call.sem);
   } else {
     MUTEX_UNLOCK(sclock);
     func(args);
@@ -269,9 +272,9 @@
   plug = plugin;
   method = NULL;
   while (plug != NULL) {
-    method = trybindDynamicMethod(plug->library,
-                                 "",
-                                 handler_name);
+    method = os_plugin_resolve_function(plug->library,
+                                       handler_name,
+                                       NO);
     if (method != NULL)
       break;
     plug = plug->next;
@@ -301,26 +304,22 @@
 
 static void loadPlugin(const char * name) {
   Plugin * p;
-  void * lib;
+  struct PluginHandle * lib;
   PlainCall init;
 
-  lib = loadDynamicLibrary("libgnunetgtkmodule_",
-                          name);
-  if (lib == NULL) {
-    GE_LOG(ectx,
-          GE_WARNING | GE_ADMIN | GE_IMMEDIATE,
-          _("Failed to load plugin `%s'\n"),
-          name);
-    return;
-  }
+  lib = os_plugin_load(ectx,
+                      "libgnunetgtkmodule_",
+                      name);
+  if (lib == NULL) 
+    return;  
   p = MALLOC(sizeof(Plugin));
   p->name = STRDUP(name);
   p->next = plugin;
   p->library = lib;
   plugin = p;
-  init = trybindDynamicMethod(lib,
-                             "init_",
-                             name);
+  init = os_plugin_resolve_function(lib,
+                                   "init_",
+                                   NO);
   if (init != NULL)
     init();
 }
@@ -357,22 +356,25 @@
 static void unloadPlugin(Plugin * plug) {
   PlainCall done;
 
-  done = trybindDynamicMethod(plug->library,
-                             "done_",
-                             plug->name);
+  done = os_plugin_resolve_function(plug->library,
+                                   "done_",
+                                   NO);
   if (done != NULL)
     done();
-  unloadDynamicLibrary(plug->library);
+  os_plugin_unload(plug->library);
   FREE(plug->name);
   FREE(plug);
 }
 
-void initGNUnetGTKCommon(void * callback) {
+void initGNUnetGTKCommon(struct GE_Context * e,
+                        struct GC_Configuration * cfg,
+                        void * callback) {
   char * load;
 
+  ectx = e;
   shutdown_function = callback;
   sclock = MUTEX_CREATE(YES);
-  PTHREAD_GET_SELF(&mainThread);
+  mainThread = PTHREAD_GET_SELF();
   saveCallsUp = YES;
 
   /* load the interface */
@@ -388,8 +390,10 @@
                          "mainWindow",
                          PACKAGE_NAME);
   if (mainXML == NULL)
-    errexit(_("Failed to open `%s'.\n"),
-           gladeFile);
+    GE_DIE_STRERROR_FILE(ectx,
+                        GE_FATAL | GE_USER | GE_IMMEDIATE,
+                        "glade_xml_new",
+                        gladeFile);
   statusXML
     = glade_xml_new(getGladeFileName(),
                    "statusWindow",
@@ -401,10 +405,11 @@
     = glade_xml_get_widget(statusXML,
                           "messageWindowTextView");
   /* load the plugins */
-  load = getConfigurationString("GNUNET-GTK",
-                               "PLUGINS");
-  if (load == NULL)
-    load = STRDUP("about daemon fs");
+  GC_get_configuration_value_string(cfg,
+                                   "GNUNET-GTK",
+                                   "PLUGINS",
+                                   "about daemon fs",
+                                   &load);
   loadPlugins(load);
   FREE(load);
   connectGladeWithPlugins(mainXML);
@@ -440,7 +445,7 @@
      the gtkSaveCall method before destroying
      the mutex! */
   while (i != 0) {
-    gnunet_util_sleep(50 * cronMILLIS);
+    PTHREAD_SLEEP(50 * cronMILLIS);
     MUTEX_LOCK(sclock);
     i = pscCount;
     MUTEX_UNLOCK(sclock);
@@ -448,7 +453,7 @@
 }
 
 void doneGNUnetGTKCommon() {
-  PTHREAD_REL_SELF(&mainThread);
+  PTHREAD_REL_SELF(mainThread);
   MUTEX_DESTROY(sclock);
 }
 
@@ -470,12 +475,12 @@
 
 void run_with_save_calls(PThreadMain cb,
                         void * arg) {
-  struct PTHREAD_T * doneThread;
+  struct PTHREAD * doneThread;
   void * unused;
   struct rwsc_closure cls;
   int i;
 
-  cls.sig = SEMAPHORE_NEW(0);
+  cls.sig = SEMAPHORE_CREATE(0);
   cls.realMain = cb;
   cls.arg = arg;
   doneThread = PTHREAD_CREATE(&shutdownCode,
@@ -483,8 +488,9 @@
                              64*1024);
   if (doneThread == NULL)
     GE_DIE_STRERROR(ectx,
+                   GE_FATAL | GE_ADMIN | GE_BULK,
                    "pthread_create");
-  if (! PTHREAD_SELF_TEST(mainThread)) {
+  if (! PTHREAD_TEST_SELF(mainThread)) {
     /* another thread will run the save calls */
     SEMAPHORE_DOWN(cls.sig, YES);
   } else {
@@ -500,13 +506,13 @@
       MUTEX_UNLOCK(sclock);
       if ( (i == -1) &&
           (OK != SEMAPHORE_DOWN(cls.sig, NO)) ) {
-       gnunet_util_sleep(50 * cronMILLIS);
+       PTHREAD_SLEEP(50 * cronMILLIS);
       }
     }
   }
   PTHREAD_JOIN(doneThread,
               &unused);
-  SEMAPHORE_FREE(cls.sig);
+  SEMAPHORE_DESTROY(cls.sig);
 }
 
 /**





reply via email to

[Prev in Thread] Current Thread [Next in Thread]