List:Commits« Previous MessageNext Message »
From:reggie Date:March 15 2006 9:25am
Subject:bk commit into 5.1 tree (rburnett:1.2183) BUG#17722
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of rburnett. When rburnett does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2183 06/03/15 10:25:42 rburnett@stripped +1 -0
  Bug #17722 Test 'partition_02myisam' hangs on Windows
  
  The problem where is that Visual Studio 8 includes new security features to help write more secure code.  One of these features is parameter validation.  Many of the CRT functions, including lseek, assert on illegal parameter values in debug builds.  They also call parameter validation callback routines that can be registered.  We solve this problem by defaulting the error value to -1 and then only calling lseek if the fd != -1.
  
  my_seek.c:
    Only call lseek if the fd is not -1 on Windows

  mysys/my_seek.c
    1.12 06/03/15 10:22:30 rburnett@stripped +3 -2
    Only call lseek if the fd is not -1 on Windows

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	rburnett
# Host:	production.mysql.com
# Root:	/usersnfs/rburnett/mysql-5.1

--- 1.11/mysys/my_seek.c	2004-06-10 21:58:36 +02:00
+++ 1.12/mysys/my_seek.c	2006-03-15 10:22:30 +01:00
@@ -22,14 +22,15 @@
 my_off_t my_seek(File fd, my_off_t pos, int whence,
 		 myf MyFlags __attribute__((unused)))
 {
-  reg1 os_off_t newpos;
+  reg1 os_off_t newpos= -1;
   DBUG_ENTER("my_seek");
   DBUG_PRINT("my",("Fd: %d  Hpos: %lu  Pos: %lu  Whence: %d  MyFlags: %d",
 		   fd, (ulong) (((ulonglong) pos) >> 32), (ulong) pos, 
 		   whence, MyFlags));
   DBUG_ASSERT(pos != MY_FILEPOS_ERROR);		/* safety check */
 
-  newpos=lseek(fd, pos, whence);
+  if (-1 != fd)
+    newpos=lseek(fd, pos, whence);
   if (newpos == (os_off_t) -1)
   {
     my_errno=errno;
Thread
bk commit into 5.1 tree (rburnett:1.2183) BUG#17722reggie15 Mar