Commit 9c83fab7 authored by Shane Snyder's avatar Shane Snyder

Merge branch 'master' into darshan_core_fprintf

parents 500db6a0 f119346b
......@@ -9,6 +9,8 @@ Darshan-3.1.7
were not properly up-converted. Reported by Teng Wang.
* bug fix to MiB reported in I/O performance estimate of when both posix and stdio access is present
* added wrapper for __open_2(), bug reported by Cormac Garvey in which open
calls are not intercepted with some versions of glibc/gcc
......@@ -40,6 +40,7 @@ typedef int64_t off64_t;
DARSHAN_FORWARD_DECL(open, int, (const char *path, int flags, ...));
DARSHAN_FORWARD_DECL(open64, int, (const char *path, int flags, ...));
DARSHAN_FORWARD_DECL(__open_2, int, (const char *path, int oflag));
DARSHAN_FORWARD_DECL(creat, int, (const char* path, mode_t mode));
DARSHAN_FORWARD_DECL(creat64, int, (const char* path, mode_t mode));
DARSHAN_FORWARD_DECL(mkstemp, int, (char *template));
......@@ -403,6 +404,24 @@ int DARSHAN_DECL(open)(const char *path, int flags, ...)
int DARSHAN_DECL(__open_2)(const char *path, int oflag)
int ret;
double tm1, tm2;
tm1 = darshan_core_wtime();
ret = __real___open_2(path, oflag);
tm2 = darshan_core_wtime();
POSIX_RECORD_OPEN(ret, path, 0, tm1, tm2);
int DARSHAN_DECL(open64)(const char *path, int flags, ...)
int mode = 0;
......@@ -752,7 +771,7 @@ off_t DARSHAN_DECL(lseek)(int fd, off_t offset, int whence)
off_t DARSHAN_DECL(lseek64)(int fd, off_t offset, int whence)
off64_t DARSHAN_DECL(lseek64)(int fd, off64_t offset, int whence)
off_t ret;
struct posix_file_record_ref *rec_ref;
......@@ -84,6 +84,10 @@
#include "darshan.h"
#include "darshan-dynamic.h"
#ifndef HAVE_OFF64_T
typedef int64_t off64_t;
DARSHAN_FORWARD_DECL(fopen, FILE*, (const char *path, const char *mode));
DARSHAN_FORWARD_DECL(fopen64, FILE*, (const char *path, const char *mode));
DARSHAN_FORWARD_DECL(fdopen, FILE*, (int fd, const char *mode));
......@@ -110,7 +114,7 @@ DARSHAN_FORWARD_DECL(vfscanf, int, (FILE *stream, const char *format, va_list ap
DARSHAN_FORWARD_DECL(fgets, char*, (char *s, int size, FILE *stream));
DARSHAN_FORWARD_DECL(fseek, int, (FILE *stream, long offset, int whence));
DARSHAN_FORWARD_DECL(fseeko, int, (FILE *stream, off_t offset, int whence));
DARSHAN_FORWARD_DECL(fseeko64, int, (FILE *stream, off_t offset, int whence));
DARSHAN_FORWARD_DECL(fseeko64, int, (FILE *stream, off64_t offset, int whence));
DARSHAN_FORWARD_DECL(fsetpos, int, (FILE *stream, const fpos_t *pos));
DARSHAN_FORWARD_DECL(fsetpos64, int, (FILE *stream, const fpos64_t *pos));
DARSHAN_FORWARD_DECL(rewind, void, (FILE *stream));
......@@ -855,7 +859,7 @@ int DARSHAN_DECL(fseeko)(FILE *stream, off_t offset, int whence)
int DARSHAN_DECL(fseeko64)(FILE *stream, off_t offset, int whence)
int DARSHAN_DECL(fseeko64)(FILE *stream, off64_t offset, int whence)
int ret;
struct stdio_file_record_ref *rec_ref;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment