--- a/src/platform_unix.c Wed Jul 08 17:47:05 2009 -0400
+++ b/src/platform_unix.c Wed Jul 08 17:53:48 2009 -0400
@@ -245,6 +245,16 @@
* the /proc/self/exe symlink.
*/
retval = readSymLink("/proc/self/exe");
+ if (retval == NULL)
+ {
+ /* older kernels don't have /proc/self ... try PID version... */
+ const unsigned long long pid = (unsigned long long) getpid();
+ char path[64];
+ const int rc = (int) snprintf(path,sizeof(path),"/proc/%llu/exe",pid);
+ if ( (rc > 0) && (rc < sizeof(path)) )
+ retval = readSymLink(path);
+ } /* if */
+
if (retval != NULL) /* chop off filename. */
{
char *ptr = strrchr(retval, '/');