bankd: Don't create 10 workers, but 'num_slots' workers

Change-Id: Ie86321e3f61ed86bbbe2ca8cfbd9edde6060bb9f
diff --git a/src/bankd.h b/src/bankd.h
index 4c53c74..6278a93 100644
--- a/src/bankd.h
+++ b/src/bankd.h
@@ -83,6 +83,7 @@
 struct bankd {
 	struct {
 		uint16_t bank_id;
+		uint16_t num_slots;
 	} cfg;
 
 	struct app_comp_id comp_id;
diff --git a/src/bankd_main.c b/src/bankd_main.c
index 6ebb74e..349236d 100644
--- a/src/bankd_main.c
+++ b/src/bankd_main.c
@@ -76,6 +76,10 @@
 	INIT_LLIST_HEAD(&bankd->workers);
 	pthread_mutex_init(&bankd->workers_mutex, NULL);
 
+	/* set some defaults, overridden by commandline/config */
+	bankd->cfg.bank_id = 1;
+	bankd->cfg.num_slots = 8;
+
 	bankd->comp_id.type = ComponentType_remsimBankd;
 	OSMO_STRLCPY_ARRAY(bankd->comp_id.name, "fixme-name");
 	OSMO_STRLCPY_ARRAY(bankd->comp_id.software, "remsim-bankd");
@@ -187,8 +191,8 @@
 		exit(1);
 	g_bankd->accept_fd = rc;
 
-	/* create worker threads.  FIXME: one per reader/slot! */
-	for (i = 0; i < 10; i++) {
+	/* create worker threads: One per reader/slot! */
+	for (i = 0; i < g_bankd->cfg.num_slots; i++) {
 		struct bankd_worker *w;
 		w = bankd_create_worker(g_bankd, i);
 		if (!w)