ssize_t write(int fd, const void *buf, size_t count) { if (real_write == NULL) __mtrace_init(); //struct stat st; //if (fstat(fd, &st) == 0) //{ // char buf[BUFSIZ]; // int len = snprintf(buf, BUFSIZ, "write fd=%d st_mode=%X\n", fd, st.st_mode); // int wl = real_write(test_fd, buf, len); // if (wl != len) // { // fprintf(stderr, "log write error: %s\n", strerror(errno)); // } // fsync(test_fd); // if (S_ISREG(st.st_mode)) // { // int64_t st = get_sleep_time(); // if (st > 0) // { // usleep(st); // } // } //} return real_write(fd, buf, count); }
ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset) { if (real_pwrite == NULL) __mtrace_init(); struct stat st; if (fstat(fd, &st) == 0) { /* char buf[BUFSIZ]; int len = snprintf(buf, BUFSIZ, "pwrite fd=%d st_mode=%X\n", fd, st.st_mode); int wl = real_write(test_fd, buf, len); if (wl != len) { fprintf(stderr, "log write error: %s\n", strerror(errno)); } fsync(test_fd); */ if (S_ISREG(st.st_mode)) { int64_t st = get_sleep_time(); if (st > 0) { usleep(st); } } } return real_pwrite(fd, buf, count, offset); }
void *malloc(size_t size) { if(real_malloc==NULL) __mtrace_init(); void *p = NULL; fprintf(stderr, "malloc(%d) = ", size); p = real_malloc(size); fprintf(stderr, "%p\n", p); return p; }