Matthew Dillon wrote: > > :Now I've got to go figure out what *I've* screwed up. I fstat the file > before > :mapping it and pass S.st_size as the map length. Is there any reason why > :mmap would return non-NULL but map less than the requested size? > : > :Scratching my head, > > Note that mmap() returns (void *)-1 when an error occurs, *not* NULL. > > This is because it is legal to mmap at address 0.
Uh, yeah, the program source actually checks against MAP_FAILED. I do usually read the man pages when I write code. ;^) I found the problem, it was caused by unexpected input. Doh! The program is now working, and is on the 44th (of 78) 60 megabyte input files. Good thing the REAL system is a dual PII Xeon 450, huh? Maybe I should add a -j jobs option so I can make sure we use that other processor. As I/O bound as this task is, I'm not sure it would help. Thanks to everyone who responded, and for the politeness of the responses in the face of the stupidity of the original question. -- "Where am I, and what am I doing in this handbasket?" Wes Peters Softweyr LLC http://softweyr.com/ w...@softweyr.com To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-hackers" in the body of the message