Make dump file writing replaceable in test

This commit is contained in:
Yinan Zhang 2020-03-17 20:27:52 -07:00
parent 21e44c45d9
commit 7455813e57
2 changed files with 7 additions and 2 deletions

View File

@ -96,6 +96,8 @@ size_t prof_tdata_count(void);
size_t prof_bt_count(void);
typedef int (prof_dump_open_file_t)(const char *, int);
extern prof_dump_open_file_t *JET_MUTABLE prof_dump_open_file;
typedef ssize_t (prof_dump_write_file_t)(int, const void *, size_t);
extern prof_dump_write_file_t *JET_MUTABLE prof_dump_write_file;
typedef bool (prof_dump_header_t)(tsdn_t *, bool, const prof_cnt_t *);
extern prof_dump_header_t *JET_MUTABLE prof_dump_header;
typedef int (prof_dump_open_maps_t)();

View File

@ -488,6 +488,8 @@ prof_dump_open(bool propagate_err, const char *filename) {
return fd;
}
prof_dump_write_file_t *JET_MUTABLE prof_dump_write_file = malloc_write_fd;
static bool
prof_dump_flush(bool propagate_err) {
bool ret = false;
@ -495,10 +497,11 @@ prof_dump_flush(bool propagate_err) {
cassert(config_prof);
err = malloc_write_fd(prof_dump_fd, prof_dump_buf, prof_dump_buf_end);
err = prof_dump_write_file(prof_dump_fd, prof_dump_buf,
prof_dump_buf_end);
if (err == -1) {
if (!propagate_err) {
malloc_write("<jemalloc>: write() failed during heap "
malloc_write("<jemalloc>: failed to write during heap "
"profile flush\n");
if (opt_abort) {
abort();