MapsBuilder use slurp like this: jboolean frysk::sys::proc::MapsBuilder::construct (jint pid) { jbyteArray buf = slurp (pid, "maps"); if (buf == NULL) return false; buildBuffer (buf); return construct (buf); } slurp (int pid, const char* name) is limited to reading files of up to BUFSIZ which is 4K. A side effect of this is that any /proc/$$ file read will be truncated if > BUFSIZ. This particular function slurp should read the whole map file.
006-10-16 Phil Muldoon <pmuldoon@redhat.com> * cni/slurp.cxx (uslurp): New function. Read /proc/$$/{file} 4K chunks until len of last read = 0
This still needs a testcase. Will add to todo
2006-10-16 Phil Muldoon <pmuldoon@redhat.com> * cni/MapsBuilder.cxx (construct): Don't terminate end of map line as a space, instead use \n. * cni/slurp.cxx (uslurp): New function. Read /proc/$$/{file} 4K chunks until len of last read = 0