projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Exit with error on signal
[fio.git]
/
fio.c
diff --git
a/fio.c
b/fio.c
index e205b3aa52ac9f9a693fd249c52de1b84f45afb8..284e9f2e867583f963a1388917ec030d63157fce 100644
(file)
--- a/
fio.c
+++ b/
fio.c
@@
-45,6
+45,7
@@
#include "cgroup.h"
#include "profile.h"
#include "lib/rand.h"
#include "cgroup.h"
#include "profile.h"
#include "lib/rand.h"
+#include "memalign.h"
unsigned long page_mask;
unsigned long page_size;
unsigned long page_mask;
unsigned long page_size;
@@
-125,6
+126,7
@@
static void sig_int(int sig)
if (threads) {
log_info("\nfio: terminating on signal %d\n", sig);
fflush(stdout);
if (threads) {
log_info("\nfio: terminating on signal %d\n", sig);
fflush(stdout);
+ exit_value = 128;
terminate_threads(TERMINATE_ALL);
}
}
terminate_threads(TERMINATE_ALL);
}
}
@@
-796,7
+798,7
@@
static void cleanup_io_u(struct thread_data *td)
io_u = flist_entry(entry, struct io_u, list);
flist_del(&io_u->list);
io_u = flist_entry(entry, struct io_u, list);
flist_del(&io_u->list);
- f
ree(io_u
);
+ f
io_memfree(io_u, sizeof(*io_u)
);
}
free_io_mem(td);
}
free_io_mem(td);
@@
-843,8
+845,9
@@
static int init_io_u(struct thread_data *td)
if (td->terminate)
return 1;
if (td->terminate)
return 1;
- if (posix_memalign(&ptr, cl_align, sizeof(*io_u))) {
- log_err("fio: posix_memalign=%s\n", strerror(errno));
+ ptr = fio_memalign(cl_align, sizeof(*io_u));
+ if (!ptr) {
+ log_err("fio: unable to allocate aligned memory\n");
break;
}
break;
}