- reworked the large pagesize patch; it seems to be always PAGESIZE*2+1
authorEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Sun, 4 Feb 2007 17:17:02 +0000 (17:17 +0000)
committerEnrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
Sun, 4 Feb 2007 17:17:02 +0000 (17:17 +0000)
  bytes required to trigger a SIGBUS. Since PAGESIZE is not available
  directly, use sysconf(3) to get this value and memset(3) to initialize
  buffer
- removed byte crap

git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@2484 94cd875c-1c1d-0410-91d2-eb244daf1a30

lib_internal/testsuite/sigbus.c

index 5193522..1abf55c 100644 (file)
@@ -33,7 +33,8 @@
 
 int wrapper_exit_code = 1;
 
-#define TEST_BLOCKSIZE 0x20000
+#define TEST_BLOCKSIZE         (sysconf(_SC_PAGESIZE)*2 + 0x10000)
+
 static bool                    is_gremlin = false;
 static int                     sync_p[2];
 
@@ -81,13 +82,12 @@ int main()
   char         f_name1[] = "/tmp/sigbus.XXXXXX";
   int          fd_src    = mkstemp(f_name0);
   int          fd_dst    = mkstemp(f_name1);
-  char         buf[TEST_BLOCKSIZE] = { [0] = '\0' };
+  char         buf[TEST_BLOCKSIZE];
   struct stat  st;
   bool         res;
-  
-  fd_src = 
-  
-  write(fd_src, buf, sizeof(buf));
+
+  memset(buf, 0, TEST_BLOCKSIZE);
+  write(fd_src, buf, TEST_BLOCKSIZE);
   close(fd_src);
   close(fd_dst);