sock_serve[PATH_MAX];
 static int             slaves = 10,
                        semaphores = -1,
+                       con_queue = CON_QUEUE,
                        semset;
 static char            host[300];
 static char *          port;
 
 static struct option opts[] = {
        {"port",                1, NULL,        'p'},
+       {"con-queue",           1, NULL,        'c'},
        {"debug",               0, NULL,        'd'},
        {"mysql",               1, NULL,        'm'},
        {"slaves",              1, NULL,        's'},
        {NULL,0,NULL,0}
 };
 
-static const char *get_opt_string = "p:dm:s:l:i:X:Y:";
+static const char *get_opt_string = "p:c:dm:s:l:i:X:Y:";
 
 static void usage(char *me) 
 {
        fprintf(stderr,"usage: %s [option]\n"
                "\t-p, --sock\t path-name to the local socket\n"
+               "\t-c, --con-queue\t size of the connection queue (accept)\n"
                "\t-m, --mysql\t database connect string\n"
                "\t-d, --debug\t don't run as daemon, additional diagnostics\n"
                "\t-s, --slaves\t number of slave servers to fork\n"
 
        while ((opt = getopt_long(argc, argv, get_opt_string, opts, NULL)) != EOF) switch (opt) {
                case 'p': strcpy(socket_path_prefix, optarg); break;
+               case 'c': con_queue = atoi(optarg); break;
                case 'd': debug = 1; break;
                case 'm': dbstring = optarg; break;
                case 's': slaves = atoi(optarg); break;
                return 1;
        }
 
-       if ( listen(service_table[SRV_SERVE].conn, CON_QUEUE) ) { perror("listen()"); return 1; }
+       if ( listen(service_table[SRV_SERVE].conn, con_queue) ) { perror("listen()"); return 1; }
 
        service_table[SRV_STORE].conn = socket(PF_UNIX, SOCK_STREAM, 0);
        if ( service_table[SRV_STORE].conn < 0 ) { perror("socket()"); return 1; }
                perror(buf);
                return 1;
        }
-       if ( listen(service_table[SRV_STORE].conn, CON_QUEUE) ) { perror("listen()"); return 1; }
+       if ( listen(service_table[SRV_STORE].conn, con_queue) ) { perror("listen()"); return 1; }
 
        dprintf(("Listening at %s, %s ...\n", sock_store, sock_serve));