> > This really has nothing to do on this list, but here I go... @ Ariane van der Steldt <ari...@stack.nl> wrote (2011-06-08 14:00+0200): > I did say that. I said code proof (assisted or manual) is a lot of work. > > Yes, we should start over. If we start over we can make it so much > better! We can do this and that and... spend ten times as much time to > reach where we are now. > > We're doing that already. And we're much better in it than you. > > I don't know what "fighting on the same plane" means. Can you please > explain? > > Bingo. > > Huh, point? Where?
Well this monday i really planned to darken down your (all of you) day, with this: #include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/mman.h> int main(void) { #define ERROR(T,MSG) if (T) { perror(MSG); exit(1); } void *mp; ssize_t wb; off_t off; char sb[8]; int fd = open("test.dat", O_RDWR | O_CREAT | O_EXCL, 0600); ERROR(fd < 0, "open"); off = lseek(fd, (off_t)0xfffffffdUL, SEEK_SET); ERROR(off < 0, "lseek"); wb = write(fd, "abcd", 4); ERROR(wb != 4, "write"); /*ERROR(fcntl(fd, F_FULLFSYNC), "fcntl(F_FULLFSYNC)"); fsync() insuff. */ mp = mmap(NULL, 0x100000001ULL, PROT_READ, MAP_PRIVATE, fd, 0); ERROR(mp == NULL, "mmap"); sb[0] = *((char*)mp + 0xfffffffdUL + 0) - '0'; write(1, sb, 1); sb[0] = *((char*)mp + 0xfffffffdUL + 1) - '0'; write(1, sb, 1); sb[0] = *((char*)mp + 0xfffffffdUL + 2) - '0'; write(1, sb, 1); sb[0] = *((char*)mp + 0xfffffffdUL + 3) - '0'; write(1, sb, 1); write(1, "\n", 1); ERROR(munmap(mp, 0x100000001ULL), "munmap"); ERROR(close(fd), "close"); return 0; } running on OS X (it was due to the "vmmap" thread), and the expected behaviour should have been ab SIGBUS and then i wanted to talk about that i don't believe that Open Source software will last over time because you have to walk yourself instead of being driven in a nice shuttle bus etc. etc. Even free heroin shipped by SuperBiscuit can't beat that, unless - maybe - on a perfect day... (I did not know about the "super cheap hotel" mail at that time.) But guess what? Apple fixed the mmap bug on sparse files! No nore 3. For at least sparse files the VMS of Mac OS X is unable to create an accessible mmap(2)ing if the size of the mapping is in the inclusive range UINT32_MAX+1 .. UINT32_MAX + PAGESIZE (== 4096) and the file has been written to. (but maybe still killed all tests which spent more than about three minutes first, later i did so whenever 900M was not reached in top(1) output - it seems to me that Apple's VM is not intelligent enough to detect that it effectively has entered an endless loop!!!) I was so disappointed! I maybe roared like a non-useless lion would. No useful contribution by me in 2011. -- Ciao, Steffen sdaoden(*)(gmail.com) () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments