summaryrefslogtreecommitdiff
path: root/src/mscp.c
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2023-03-15 21:53:34 +0900
committerRyo Nakamura <upa@haeena.net>2023-03-15 21:53:34 +0900
commita923d40adae082877dc7be577caeb23a2ab08d63 (patch)
tree7472debfd40981864ded14210dd32eb21ad718f0 /src/mscp.c
parent24fef5f53900da19d31c0b562447ffeff536c89a (diff)
mscp: add -u max_startups option.
pymscp also accepts keyword 'max_startups' (int).
Diffstat (limited to 'src/mscp.c')
-rw-r--r--src/mscp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mscp.c b/src/mscp.c
index 9ba7f83..46e714c 100644
--- a/src/mscp.c
+++ b/src/mscp.c
@@ -26,7 +26,7 @@ struct mscp {
int *cores; /* usable cpu cores by COREMASK */
int nr_cores; /* length of array of cores */
- sem_t sem; /* semaphore for conccurent
+ sem_t sem; /* semaphore for concurrent
* connecting ssh sessions */
sftp_session first; /* first sftp session */
@@ -193,6 +193,10 @@ static int validate_and_set_defaut_params(struct mscp_opts *o)
if (o->max_startups == 0)
o->max_startups = DEFAULT_MAX_STARTUPS;
+ else if (o->max_startups < 0) {
+ mscp_set_error("invalid max_startups: %d", o->max_startups);
+ return -1;
+ }
if (o->msg_fd == 0)
o->msg_fd = STDOUT_FILENO;
@@ -219,8 +223,9 @@ struct mscp *mscp_init(const char *remote_host, int direction,
mprint_set_severity(o->severity);
- if (validate_and_set_defaut_params(o) < 0)
- goto free_out;
+ if (validate_and_set_defaut_params(o) < 0) {
+ return NULL;
+ }
m = malloc(sizeof(*m));
if (!m) {