Hello,
In the new versions of french/aster, there is this piece of Linux code:
-----------------------------------------------------------
static char filename[80];
static char sbuf[1024];
char* S;
int fd, num_read;
long lmem;
pid_t numpro;
pid_t getpid(void);
numpro = getpid();
sprintf(filename, "/proc/%ld/status", (long)numpro);
fd = open(filename, O_RDONLY, 0);
if (fd==-1) return -1;
num_read=read(fd,sbuf,(sizeof sbuf)-1);
close(fd);
S=strstr(sbuf,"VmData:")+8;
val[0] = (INTEGER)atoi(S);
S=strstr(sbuf,"VmSize:")+8;
val[1] = (INTEGER)atoi(S);
if ( strstr(sbuf,"VmPeak:") != NULL ) {
S=strstr(sbuf,"VmPeak:")+8;
val[2] = atoi(S);
} else {
val[2] = -1 ;
}
S=strstr(sbuf,"VmRSS:")+7;
val[3] = (INTEGER)atoi(S);
S=strstr(sbuf,"VmStk:")+7;
lmem = atoi(S);
return lmem ;
-----------------------------------------------------------
Of course, it does'nt work on FreeBSD, because our status has a
different structure.
As a quick & dirty work-around, I patched it to replace /proc by
/compat/linux/proc and it works. Unfortunately, this is not a good
solution, because this port is no more packageable (this piece of code
is run at the end of the build).
It's why I'm looking for help here: does somebody knows how the
corresponding values of these Vm... can be found in FreeBSD?
Thanks,
--
Th. Thomas.
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[email protected]"