if running both server and proxy services, start at least 2 slaves
authorMiloš Mulač <mulac@civ.zcu.cz>
Tue, 27 Nov 2007 16:51:37 +0000 (16:51 +0000)
committerMiloš Mulač <mulac@civ.zcu.cz>
Tue, 27 Nov 2007 16:51:37 +0000 (16:51 +0000)
org.glite.lb.server/src/bkserverd.c

index 7d5b844..8bae798 100644 (file)
@@ -456,7 +456,7 @@ int main(int argc, char *argv[])
                          break;
                case 'P': mode = SERVICE_PROXY;
                          break;
-               case 'B': mode = SERVICE_PROXY_SERVER;;
+               case 'B': mode = SERVICE_PROXY_SERVER;
                          break;
                case 'o': strcpy(socket_path_prefix, optarg);
                          break;
@@ -479,6 +479,14 @@ int main(int argc, char *argv[])
        if (mode & SERVICE_SERVER) dprintf(("Staring LB server service\n"));
        dprintf(("\n"));
 
+       // XXX: workaround for only preudoparallel job registration
+       //      we need at least 2 slaves to avoid locking misbehaviour
+       if ((mode == SERVICE_PROXY_SERVER) && (slaves == 1)) {
+               dprintf(("WARNING: Running both proxy and server services enforces at least 2 slaves\n"));
+               dprintf(("Starting 2 slaves\n"));
+               slaves = 2;
+       }
+
        if (geteuid()) snprintf(pidfile,sizeof pidfile, "%s/edg-bkserverd.pid", getenv("HOME"));
 
        fpid = fopen(pidfile,"r");