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;
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");