summaryrefslogtreecommitdiff
path: root/mysys/my_seek.c
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@montyprogram.com>2011-07-05 21:46:53 +0200
committerVladislav Vaintroub <wlad@montyprogram.com>2011-07-05 21:46:53 +0200
commitf9cb1467b84aba6cdc3178617def27c2993f016d (patch)
treeb415e273aafc2a6f0612b1f6cc55dbb0b0a06827 /mysys/my_seek.c
parent9e95a54793920ade348399a74a1e39ea3a27b635 (diff)
parentb48dc8306f2b729bef09f9cdf30d7897726b873e (diff)
downloadmariadb-git-f9cb1467b84aba6cdc3178617def27c2993f016d.tar.gz
merge Windows performance patches into 5.3
Diffstat (limited to 'mysys/my_seek.c')
-rw-r--r--mysys/my_seek.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/mysys/my_seek.c b/mysys/my_seek.c
index d186d56869a..24941517487 100644
--- a/mysys/my_seek.c
+++ b/mysys/my_seek.c
@@ -56,16 +56,11 @@ my_off_t my_seek(File fd, my_off_t pos, int whence, myf MyFlags)
Make sure we are using a valid file descriptor!
*/
DBUG_ASSERT(fd != -1);
-#if defined(THREAD) && !defined(HAVE_PREAD)
- if (MyFlags & MY_THREADSAFE)
- {
- pthread_mutex_lock(&my_file_info[fd].mutex);
- newpos= lseek(fd, pos, whence);
- pthread_mutex_unlock(&my_file_info[fd].mutex);
- }
- else
+#ifdef _WIN32
+ newpos= my_win_lseek(fd, pos, whence);
+#else
+ newpos= lseek(fd, pos, whence);
#endif
- newpos= lseek(fd, pos, whence);
if (newpos == (os_off_t) -1)
{
my_errno= errno;
@@ -91,7 +86,9 @@ my_off_t my_tell(File fd, myf MyFlags)
DBUG_ENTER("my_tell");
DBUG_PRINT("my",("fd: %d MyFlags: %d",fd, MyFlags));
DBUG_ASSERT(fd >= 0);
-#ifdef HAVE_TELL
+#ifdef _WIN32
+ pos= my_seek(fd, 0, MY_SEEK_CUR,0);
+#elif defined(HAVE_TELL)
pos=tell(fd);
#else
pos=lseek(fd, 0L, MY_SEEK_CUR);