update Sun Mar 14 12:37:00 PDT 2010
[pkgsrc.git] / audio / mpg123 / patches / patch-af
1 $NetBSD: patch-af,v 1.2 2010/03/14 14:19:19 martin Exp $
2
3 --- src/xfermem.c.orig  2009-12-05 21:26:24.000000000 +0100
4 +++ src/xfermem.c       2010-02-06 20:14:14.000000000 +0100
5 @@ -37,6 +37,13 @@
6  
7  #ifdef HAVE_MMAP
8  #  ifdef MAP_ANON
9 +
10 +#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104030000)
11 +       if(madvise((void *)xf, (regsize - sizeof(txfermem)),
12 +                   MADV_SEQUENTIAL) < 0)
13 +               fprintf(stderr,"madvise failed, continuing anyway...\n");
14 +#endif
15 +
16         if ((*xf = (txfermem *) mmap(0, regsize, PROT_READ | PROT_WRITE,
17                         MAP_ANON | MAP_SHARED, -1, 0)) == (txfermem *) -1) {
18                 perror ("mmap()");
19 @@ -92,7 +99,13 @@
20         if(!xf)
21                 return;
22  #ifdef HAVE_MMAP
23 -       munmap ((caddr_t) xf, xf->size + xf->metasize + sizeof(txfermem));
24 +       munmap ((void *) xf, xf->size + xf->metasize + sizeof(txfermem));
25 +
26 +#if defined(__NetBSD__) && (__NetBSD_Version__ >= 104030000)
27 +       if(madvise((void *)xf, (xf->size + xf->metasize), MADV_FREE) < 0)
28 +               fprintf(stderr,"madvise failed, continuing anyways..\n");
29 +#endif
30 +
31  #else
32         if (shmdt((void *) xf) == -1) {
33                 perror ("shmdt()");