summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <lenz@mysql.com>2002-07-15 18:26:11 +0200
committerunknown <lenz@mysql.com>2002-07-15 18:26:11 +0200
commit9e5fd21c3b4fadb518720d5e64735d232acf0d8d (patch)
tree7bbc1431086d8f60702c6d6e2ad89eec7fe88075 /mysys
parent0dd47486d6d5f91f8083f8caddaf1ada09cc1919 (diff)
downloadmariadb-git-9e5fd21c3b4fadb518720d5e64735d232acf0d8d.tar.gz
- Updated OS/2 port with files provided by Yuri Dario <mc6530@mclink.it>
from TeamOS/2 Italy - removed some obsolete files on Yuri's request - Added missing os2 related files outside the os2 subdirectory to the distribution BitKeeper/deleted/.del-MySQL-All.icc~132f824bdf16897c: Delete: os2/MySQL-All.icc BitKeeper/deleted/.del-MySQL-Client.irs~6dc13dcf3bbd5c0e: Delete: os2/MySQL-Client.irs BitKeeper/deleted/.del-MySQL-Lib.icc~6775a33b1eeed98: Delete: os2/MySQL-Lib.icc BitKeeper/deleted/.del-MySQL-ReadLine.icc~d7ab937c4ed8922f: Delete: os2/MySQL-ReadLine.icc BitKeeper/deleted/.del-MySQL-binlog.icc~ec86ef1b392553e: Delete: os2/MySQL-binlog.icc BitKeeper/deleted/.del-MySQL-binlog.irs~80d1800461e185d1: Delete: os2/MySQL-binlog.irs BitKeeper/deleted/.del-MySQL-sql.irs~563a18a769b1785d: Delete: os2/MySQL-sql.irs BitKeeper/deleted/.del-build-all.log~8dda947d95dfb926: Delete: os2/build-all.log BitKeeper/deleted/.del-mysql.base~330f9ea62769c03a: Delete: os2/mysql.base BitKeeper/deleted/.del-mysql.ih~767482ec101feda3: Delete: os2/mysql.ih BitKeeper/deleted/.del-readme.os2~e8fe94e278248f7e: Delete: os2/readme.os2 configure.in: Added new os2 subdirectories include/Makefile.am: Added include/config-os2.h to distribution include/config-os2.h: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy mysys/Makefile.am: Added missing OS/2 files in mysys to distribution mysys/my_os2file64.c: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy mysys/my_os2thread.c: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/BldLevel.cmd: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/BldLevel.rc: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/ChangeLog.os2: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/Makefile.am: Fixed OS/2 file list (some new files, some have been removed) os2/MySQL-Client.icc: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/MySQL-Opt.icc: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/MySQL-Source.icc: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/MySQL-Util.icc: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/MySQL-Util.irs: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/ReadMe.txt: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/build-all.cmd: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy os2/rint.obj: Applied modifications provided by Yuri Dario <mc6530@mclink.it> from TeamOS/2 Italy
Diffstat (limited to 'mysys')
-rw-r--r--mysys/Makefile.am5
-rw-r--r--mysys/my_os2file64.c16
-rw-r--r--mysys/my_os2thread.c7
3 files changed, 22 insertions, 6 deletions
diff --git a/mysys/Makefile.am b/mysys/Makefile.am
index 0d193b7a035..7de59939227 100644
--- a/mysys/Makefile.am
+++ b/mysys/Makefile.am
@@ -21,7 +21,10 @@ INCLUDES = @MT_INCLUDES@ -I$(srcdir)/../include -I../include -I.. -I$(srcdir)
pkglib_LIBRARIES = libmysys.a
LDADD = libmysys.a ../dbug/libdbug.a \
../strings/libmystrings.a
-noinst_HEADERS = mysys_priv.h my_static.h
+noinst_HEADERS = mysys_priv.h my_static.h \
+ my_os2cond.c my_os2dirsrch.c my_os2dirsrch.h \
+ my_os2dlfcn.c my_os2file64.c my_os2mutex.c \
+ my_os2thread.c my_os2tls.c
libmysys_a_SOURCES = my_init.c my_getwd.c mf_getdate.c\
mf_path.c mf_loadpath.c\
my_open.c my_create.c my_seek.c my_read.c \
diff --git a/mysys/my_os2file64.c b/mysys/my_os2file64.c
index b7ee40d292e..2f41d344e32 100644
--- a/mysys/my_os2file64.c
+++ b/mysys/my_os2file64.c
@@ -22,6 +22,7 @@ void _OS2errno( APIRET rc);
longlong _lseek64( int fd, longlong offset, int seektype);
int _lock64( int fd, int locktype, my_off_t start,
my_off_t length, myf MyFlags);
+int _sopen64( const char *name, int oflag, int shflag, int mask);
//
// this class is used to define a global c++ variable, that
@@ -191,8 +192,17 @@ inline _SetFileLocksL(HFILE hFile,
ULONG timeout,
ULONG flags)
{
- if (_DosSetFileLocksL)
- return _DosSetFileLocksL( hFile, pflUnlock, pflLock, timeout, flags);
+ if (_DosSetFileLocksL) {
+ APIRET rc;
+ rc = _DosSetFileLocksL( hFile, pflUnlock, pflLock, timeout, flags);
+
+ // on FAT/HPFS/LAN a INVALID_PARAMETER is returned, seems that
+ // only JFS can handle >2GB ranges.
+ if (rc != 87)
+ return rc;
+
+ // got INVALID_PARAMETER, fallback to standard call
+ }
FILELOCK flUnlock = { pflUnlock->lOffset, pflUnlock->lRange };
FILELOCK flLock = { pflLock->lOffset, pflLock->lRange };
@@ -254,7 +264,7 @@ int _lock64( int fd, int locktype, my_off_t start,
return(-1);
}
-int _sopen( const char *name, int oflag, int shflag, int mask)
+int sopen( const char *name, int oflag, int shflag, int mask)
{
int fail_errno;
APIRET rc = 0;
diff --git a/mysys/my_os2thread.c b/mysys/my_os2thread.c
index 017ba7f316b..89a3311c10b 100644
--- a/mysys/my_os2thread.c
+++ b/mysys/my_os2thread.c
@@ -53,6 +53,7 @@ void win_pthread_init(void)
static pthread_handler_decl(pthread_start,param)
{
+ DBUG_ENTER("pthread_start");
pthread_handler func=((struct pthread_map *) param)->func;
void *func_param=((struct pthread_map *) param)->param;
my_thread_init(); /* Will always succeed in windows */
@@ -60,8 +61,10 @@ static pthread_handler_decl(pthread_start,param)
win_pthread_self=((struct pthread_map *) param)->pthreadself;
pthread_mutex_unlock(&THR_LOCK_thread);
free((char*) param); /* Free param from create */
- pthread_exit((void*) (*func)(func_param));
- return 0; /* Safety */
+ //pthread_exit((void*) (*func)(func_param));
+ (*func)(func_param);
+ DBUG_RETURN(0);
+ //return 0; /* Safety */
}