projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
client: fix double removal of client on job file open failure
[fio.git]
/
client.c
diff --git
a/client.c
b/client.c
index 515cbf2e178aae746d04a61ccfa0aab4b2d976c6..6bc114541062231f24d9bc0215e47102e05ec868 100644
(file)
--- a/
client.c
+++ b/
client.c
@@
-816,6
+816,8
@@
int fio_clients_send_ini(const char *filename)
struct flist_head *entry, *tmp;
flist_for_each_safe(entry, tmp, &client_list) {
struct flist_head *entry, *tmp;
flist_for_each_safe(entry, tmp, &client_list) {
+ bool failed = false;
+
client = flist_entry(entry, struct fio_client, list);
if (client->nr_files) {
client = flist_entry(entry, struct fio_client, list);
if (client->nr_files) {
@@
-827,12
+829,13
@@
int fio_clients_send_ini(const char *filename)
cf = &client->files[i];
if (fio_client_send_cf(client, cf)) {
cf = &client->files[i];
if (fio_client_send_cf(client, cf)) {
+ failed = true;
remove_client(client);
break;
}
}
}
remove_client(client);
break;
}
}
}
- if (client->sent_job)
+ if (client->sent_job
|| failed
)
continue;
if (!filename || fio_client_send_ini(client, filename, 0))
remove_client(client);
continue;
if (!filename || fio_client_send_ini(client, filename, 0))
remove_client(client);