diff options
author | rafan <rafan@FreeBSD.org> | 2008-12-27 03:21:54 +0800 |
---|---|---|
committer | rafan <rafan@FreeBSD.org> | 2008-12-27 03:21:54 +0800 |
commit | ff87057193c7d462fe7ce34736cff21e71da02ac (patch) | |
tree | d89b2e2e4f5b8c56109aea4e60e8e25b35698d61 /misc | |
parent | 029d9dcfeaab64a87f45bb32304c3d5bd86d353f (diff) | |
download | freebsd-ports-gnome-ff87057193c7d462fe7ce34736cff21e71da02ac.tar.gz freebsd-ports-gnome-ff87057193c7d462fe7ce34736cff21e71da02ac.tar.zst freebsd-ports-gnome-ff87057193c7d462fe7ce34736cff21e71da02ac.zip |
- Fix build on 6.x by using valloc(3) instead of posix_memalign(3)
Reported by: pointyhat via erwin
Diffstat (limited to 'misc')
-rw-r--r-- | misc/mbuffer/files/patch-mbuffer.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/misc/mbuffer/files/patch-mbuffer.c b/misc/mbuffer/files/patch-mbuffer.c index c74f0794c56b..41985bf633a7 100644 --- a/misc/mbuffer/files/patch-mbuffer.c +++ b/misc/mbuffer/files/patch-mbuffer.c @@ -1,5 +1,5 @@ ---- mbuffer.c.orig 2008-12-24 12:17:41.000000000 +0800 -+++ mbuffer.c 2008-12-24 12:36:47.000000000 +0800 +--- mbuffer.c.orig 2008-12-08 09:20:47.000000000 +0800 ++++ mbuffer.c 2008-12-27 03:21:03.000000000 +0800 @@ -32,7 +32,6 @@ #include <fcntl.h> #include <libgen.h> @@ -8,7 +8,7 @@ #include <math.h> #include <pthread.h> #include <semaphore.h> -@@ -45,6 +44,8 @@ +@@ -45,13 +44,21 @@ #include <sys/mman.h> #include <sys/stat.h> #include <sys/time.h> @@ -16,8 +16,11 @@ +#include <sys/sysctl.h> #include <termios.h> #include <unistd.h> ++#if defined(__FreeBSD__) ++#include <sys/param.h> ++#endif -@@ -52,6 +53,9 @@ + #ifdef HAVE_SENDFILE #ifdef HAVE_SENDFILE_H #include <sys/sendfile.h> #endif @@ -27,7 +30,7 @@ /* if this sendfile implementation does not support sending from buffers, disable sendfile support */ #ifndef SFV_FD_SELF -@@ -855,7 +859,7 @@ +@@ -855,7 +862,7 @@ err = fsync(fd); while ((err != 0) && (errno == EINTR)); if (err != 0) { @@ -36,7 +39,7 @@ infomsg("syncing unsupported on %s: omitted.\n",d->arg); } else { warningmsg("unable to sync %s: %s\n",d->arg,strerror(errno)); -@@ -1126,7 +1130,7 @@ +@@ -1126,7 +1133,7 @@ err = fsync(d->fd); while ((err != 0) && (errno == EINTR)); if (err != 0) { @@ -45,7 +48,7 @@ infomsg("syncing unsupported on %s: omitted.\n",d->arg); } else { warningmsg("unable to sync %s: %s\n",d->arg,strerror(errno)); -@@ -1608,12 +1612,22 @@ +@@ -1608,12 +1615,22 @@ const char *outfile = 0; struct sigaction sig; dest_t *dest = 0; @@ -70,7 +73,7 @@ assert(nump > 0); Blocksize = pgsz; Numblocks = nump/50; -@@ -1664,6 +1678,8 @@ +@@ -1664,6 +1681,8 @@ debugmsg("Verbose = %d\n",Verbose); #if defined(_SC_AVPHYS_PAGES) && defined(_SC_PAGESIZE) && !defined(__CYGWIN__) debugmsg("total # of phys pages: %li (pagesize %li)\n",nump,pgsz); @@ -79,7 +82,7 @@ #endif debugmsg("default buffer set to %d blocks of %lld bytes\n",Numblocks,Blocksize); } else if (!argcheck("-u",argv,&c,argc)) { -@@ -1760,7 +1776,7 @@ +@@ -1760,7 +1779,7 @@ Status = 0; } else if (!strcmp("-c",argv[c])) { debugmsg("enabling full synchronous I/O\n"); @@ -88,7 +91,7 @@ } else if (!argcheck("-a",argv,&c,argc)) { Autoloader = 1; Autoload_time = atoi(argv[c]); -@@ -1864,7 +1880,14 @@ +@@ -1864,7 +1883,14 @@ /* SPW END */ /* check that we stay within system limits */ @@ -104,13 +107,17 @@ if (-1 == mxnrsem) { warningmsg("unable to determine maximum value of semaphores\n"); } else if (Numblocks > (unsigned long long) mxnrsem) { -@@ -1874,8 +1897,8 @@ +@@ -1874,8 +1900,12 @@ if ((Blocksize * (long long)Numblocks) > (long long)SSIZE_MAX) fatal("Cannot address so much memory (%lld*%d=%lld>%lld).\n",Blocksize,Numblocks,Blocksize*(long long)Numblocks,(long long)SSIZE_MAX); /* create buffer */ - Buffer = (char **) memalign(sysconf(_SC_PAGESIZE),Numblocks * sizeof(char *)); - if (!Buffer) ++#if defined(__FreeBSD__) && (__FreeBSD_version < 700000) ++ Buffer = (char **) valloc(Numblocks * sizeof(char *)); ++#else + err = posix_memalign(&Buffer,sysconf(_SC_PAGESIZE),Numblocks * sizeof(char *)); ++#endif + if (err || !Buffer) fatal("Could not allocate enough memory (%d requested): %s\n",Numblocks * sizeof(char *),strerror(errno)); if (Memmap) { |