src/server/safs/init.c

changeset 60
feb2f1e115c6
parent 59
ab25c0a231d0
child 61
c858850f3d3a
--- a/src/server/safs/init.c	Mon May 06 13:44:27 2013 +0200
+++ b/src/server/safs/init.c	Mon May 06 14:54:40 2013 +0200
@@ -38,19 +38,34 @@
 }
 
 int load_modules(pblock *pb, Session *sn, Request *rq) {
-    printf("load_modules\n");
-
     char *shlib = pblock_findval("shlib", pb);
     char *funcs = pblock_findval("funcs", pb);
 
     if(shlib == NULL || funcs == NULL) {
         fprintf(stderr, "load-modules: missing parameter\n");
+        //log_ereport(LOG_MISCONFIG, "load-modules: missing parameters");
+        if(!shlib && funcs) {
+            log_ereport(
+                    LOG_MISCONFIG,
+                    "load-modules: missing shlib parameter");
+        } else if(!shlib && !funcs) {
+            log_ereport(
+                    LOG_MISCONFIG,
+                    "load-modules: missing funcs parameter");
+        } else {
+            log_ereport(
+                    LOG_MISCONFIG,
+                    "load-modules: missing shlib and funcs parameters");
+        }
     }
 
     /* load lib */
     void *lib = dlopen(shlib, RTLD_GLOBAL | RTLD_NOW);
     if(lib == NULL) {
-        fprintf(stderr, "Cannot load library %s %s\n", shlib, dlerror());
+        char *dlerr = dlerror();
+        fprintf(stderr, "Cannot load library %s %s\n", shlib, dlerr);
+        
+        log_ereport(LOG_FAILURE, "Cannot load library %s: %s", shlib, dlerr);
         
         return REQ_ABORTED;
     }

mercurial