diff options
Diffstat (limited to 'gprofng/libcollector/libcol_util.c')
-rw-r--r-- | gprofng/libcollector/libcol_util.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gprofng/libcollector/libcol_util.c b/gprofng/libcollector/libcol_util.c index 15ba24d..baac15d 100644 --- a/gprofng/libcollector/libcol_util.c +++ b/gprofng/libcollector/libcol_util.c @@ -1013,7 +1013,6 @@ __collector_open (const char *path, int oflag, ...) mode_t mode = 0; hrtime_t t_timeout = __collector_gethrtime () + 5 * ((hrtime_t) NANOSEC); - int nretries = 0; long long delay = 100; /* start at some small, arbitrary value */ /* get optional mode argument if it's expected/required */ @@ -1058,7 +1057,6 @@ __collector_open (const char *path, int oflag, ...) delay *= 2; if (delay > 100000000) delay = 100000000; /* cap at some large, arbitrary value */ - nretries++; } return fd; } @@ -1459,7 +1457,10 @@ __collector_util_init () else if ((ptr = dlvsym (libc, "fopen", "GLIBC_2.0")) != NULL) __collector_util_funcs.fopen = ptr; else + { ptr = dlsym (libc, "fopen"); + if(ptr) __collector_util_funcs.fopen = ptr; + } if (__collector_util_funcs.fopen == NULL) { CALL_UTIL (fprintf)(stderr, "COL_ERROR_UTIL_INIT fopen: %s\n", dlerror ()); @@ -1475,7 +1476,10 @@ __collector_util_init () else if ((ptr = dlvsym (libc, "popen", "GLIBC_2.0")) != NULL) __collector_util_funcs.popen = ptr; else + { ptr = dlsym (libc, "popen"); + if(ptr) __collector_util_funcs.popen = ptr; + } if (__collector_util_funcs.popen == NULL) { CALL_UTIL (fprintf)(stderr, "COL_ERROR_UTIL_INIT popen: %s\n", dlerror ()); @@ -1491,7 +1495,10 @@ __collector_util_init () else if ((ptr = dlvsym (libc, "fclose", "GLIBC_2.0")) != NULL) __collector_util_funcs.fclose = ptr; else + { ptr = dlsym (libc, "fclose"); + if(ptr) __collector_util_funcs.fclose = ptr; + } if (__collector_util_funcs.fclose == NULL) { CALL_UTIL (fprintf)(stderr, "COL_ERROR_UTIL_INIT fclose: %s\n", dlerror ()); |