diff options
author | unknown <monty@donna.mysql.com> | 2000-12-18 16:09:19 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2000-12-18 16:09:19 +0200 |
commit | 44f96f180a3140f33413a5585aebd17f9be50a4d (patch) | |
tree | c93d85948282e07d8ce6727243cecb6a03d0335f /mysys/my_open.c | |
parent | cf22d6559242255769d867400ddf859f3dbfe2d7 (diff) | |
download | mariadb-git-44f96f180a3140f33413a5585aebd17f9be50a4d.tar.gz |
Lots of new benchmark runs
Remember filename for temporary files created with mkstemp
Fixed wrongly allocated BDB share structure
Cleanups for SunPRO
BitKeeper/deleted/.del-ATIS-mysql-SunOS_5.6_sun4m~62028e0375b3b8b:
***MISSING WEAVE***
BitKeeper/deleted/.del-RUN-mysql-SunOS_5.6_sun4m~eafc8188345e262b:
***MISSING WEAVE***
BitKeeper/deleted/.del-alter-table-mysql-SunOS_5.6_sun4m~8a1bd6589a189890:
***MISSING WEAVE***
BitKeeper/deleted/.del-big-tables-mysql-SunOS_5.6_sun4m~f351a7f3e1e2257e:
***MISSING WEAVE***
BitKeeper/deleted/.del-connect-mysql-SunOS_5.6_sun4m~a10e3ddfa26a3e7f:
***MISSING WEAVE***
BitKeeper/deleted/.del-create-mysql-SunOS_5.6_sun4m~9233114ae6f8c5f:
***MISSING WEAVE***
BitKeeper/deleted/.del-insert-mysql-SunOS_5.6_sun4m~3402d060ae20e19:
***MISSING WEAVE***
BitKeeper/deleted/.del-select-mysql-SunOS_5.6_sun4m~4da215905bce988d:
***MISSING WEAVE***
BitKeeper/deleted/.del-wisconsin-mysql-SunOS_5.6_sun4m~ec61b14072715dc8:
***MISSING WEAVE***
BitKeeper/deleted/.del-ATIS-mysql-Linux_2.2.12_20smp_i686~28211fb9f0e6ab0e:
***MISSING WEAVE***
BitKeeper/deleted/.del-RUN-mysql-Linux_2.2.12_20smp_i686~da28ced3e0aac09c:
***MISSING WEAVE***
BitKeeper/deleted/.del-alter-table-mysql-Linux_2.2.12_20smp_i686~67ae4e91b5f4eabd:
***MISSING WEAVE***
BitKeeper/deleted/.del-big-tables-mysql-Linux_2.2.12_20smp_i686~a2dcb74a3c73ac18:
***MISSING WEAVE***
BitKeeper/deleted/.del-connect-mysql-Linux_2.2.12_20smp_i686~beedcd769a903c19:
***MISSING WEAVE***
BitKeeper/deleted/.del-create-mysql-Linux_2.2.12_20smp_i686~fe23ee50aea195f4:
***MISSING WEAVE***
BitKeeper/deleted/.del-insert-mysql-Linux_2.2.12_20smp_i686~f120b0ead3836c81:
***MISSING WEAVE***
BitKeeper/deleted/.del-select-mysql-Linux_2.2.12_20smp_i686~3b64aff0dfddfff4:
***MISSING WEAVE***
BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.2.12_20smp_i686~d49db545341a732f:
***MISSING WEAVE***
BitKeeper/deleted/.del-ATIS-mysql-Linux_2.2.13_SMP_alpha~136bdd9fd1a2cd14:
***MISSING WEAVE***
BitKeeper/deleted/.del-ATIS-mysql_fast-Linux_2.2.13_SMP_alpha~defb62af5958fcac:
***MISSING WEAVE***
BitKeeper/deleted/.del-RUN-mysql-Linux_2.2.13_SMP_alpha~f6fa9f46d4a6152:
***MISSING WEAVE***
BitKeeper/deleted/.del-RUN-mysql_fast-Linux_2.2.13_SMP_alpha~16694c5927b7600c:
***MISSING WEAVE***
BitKeeper/deleted/.del-alter-table-mysql-Linux_2.2.13_SMP_alpha~c85eb85ba45dd748:
***MISSING WEAVE***
BitKeeper/deleted/.del-alter-table-mysql_fast-Linux_2.2.13_SMP_alpha~b062db76cf6df5d2:
***MISSING WEAVE***
BitKeeper/deleted/.del-big-tables-mysql-Linux_2.2.13_SMP_alpha~b5f4f4c35225f0f:
***MISSING WEAVE***
BitKeeper/deleted/.del-big-tables-mysql_fast-Linux_2.2.13_SMP_alpha~a9eedd951eab7e8b:
***MISSING WEAVE***
BitKeeper/deleted/.del-connect-mysql-Linux_2.2.13_SMP_alpha~74ec2bf5f55b81f:
***MISSING WEAVE***
BitKeeper/deleted/.del-connect-mysql_fast-Linux_2.2.13_SMP_alpha~f6d7665c418d62c6:
***MISSING WEAVE***
BitKeeper/deleted/.del-create-mysql-Linux_2.2.13_SMP_alpha~771b40d3280fe8ad:
***MISSING WEAVE***
BitKeeper/deleted/.del-create-mysql_fast-Linux_2.2.13_SMP_alpha~c46d6c283c0e34ae:
***MISSING WEAVE***
BitKeeper/deleted/.del-insert-mysql-Linux_2.2.13_SMP_alpha~17f262f12d2244bc:
***MISSING WEAVE***
BitKeeper/deleted/.del-insert-mysql_fast-Linux_2.2.13_SMP_alpha~3245ba5633a18e8:
***MISSING WEAVE***
BitKeeper/deleted/.del-select-mysql-Linux_2.2.13_SMP_alpha~9fd9c6e036f988d7:
***MISSING WEAVE***
BitKeeper/deleted/.del-select-mysql_fast-Linux_2.2.13_SMP_alpha~744633c6e13a897f:
***MISSING WEAVE***
BitKeeper/deleted/.del-wisconsin-mysql-Linux_2.2.13_SMP_alpha~ad7babd436f26841:
***MISSING WEAVE***
BitKeeper/deleted/.del-wisconsin-mysql_fast-Linux_2.2.13_SMP_alpha~6ad065fe4c6b4fa9:
***MISSING WEAVE***
BUILD/compile-pentium:
Added command line arguments
Docs/manual.texi:
Update for 3.23.30
configure.in:
Removed duplicated symbol
include/my_sys.h:
cleanup of my_open/my_create/my_tempfile
mysys/mf_tempfile.c:
Remember filename for temporary files created with mkstemp
mysys/my_create.c:
cleanup of my_open/my_create/my_tempfile
mysys/my_open.c:
cleanup of my_open/my_create/my_tempfile
scripts/mysqld_multi.sh:
Use paths from configure
scripts/safe_mysqld.sh:
Cleanup
sql-bench/Results/ATIS-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/RUN-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/alter-table-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/big-tables-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/connect-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/create-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/insert-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/select-mysql-SunOS_5.7_sun4m:
New benchmark results
sql-bench/Results/wisconsin-mysql-SunOS_5.7_sun4m:
New benchmark results
sql/ha_berkeley.cc:
Fixed wrongly allocated share structure
sql/item_cmpfunc.cc:
Cleanup
sql/item_cmpfunc.h:
Cleanup
sql/log_event.h:
Cleanup
sql/mysqld.cc:
Changed default number of BDB locks to 10000
sql/sql_class.h:
cleanup
sql/sql_show.cc:
cleanup
support-files/mysql.spec.sh:
Added mysqld_multi
sql-bench/Results-linux/ATIS-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/ATIS-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/RUN-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/RUN-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/alter-table-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/alter-table-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/big-tables-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/connect-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/create-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/create-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/insert-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/select-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/select-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql_dbug-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
sql-bench/Results-linux/wisconsin-mysql_dbug_full-Linux_2.2.14_my_SMP_i686:
***MISSING WEAVE***
Diffstat (limited to 'mysys/my_open.c')
-rw-r--r-- | mysys/my_open.c | 84 |
1 files changed, 46 insertions, 38 deletions
diff --git a/mysys/my_open.c b/mysys/my_open.c index a8dbe86989b..1bca4d9cccd 100644 --- a/mysys/my_open.c +++ b/mysys/my_open.c @@ -47,7 +47,44 @@ File my_open(const char *FileName, int Flags, myf MyFlags) #else fd = open((my_string) FileName, Flags); #endif + DBUG_RETURN(my_register_filename(fd, FileName, FILE_BY_OPEN, + EE_FILENOTFOUND, MyFlags)); +} /* my_open */ + + + /* Close a file */ + +int my_close(File fd, myf MyFlags) +{ + int err; + DBUG_ENTER("my_close"); + DBUG_PRINT("my",("fd: %d MyFlags: %d",fd, MyFlags)); + + pthread_mutex_lock(&THR_LOCK_open); + if ((err = close(fd))) + { + DBUG_PRINT("error",("Got error %d on close",err)); + my_errno=errno; + if (MyFlags & (MY_FAE | MY_WME)) + my_error(EE_BADCLOSE, MYF(ME_BELL+ME_WAITTANG),my_filename(fd),errno); + } + if ((uint) fd < MY_NFILE && my_file_info[fd].type != UNOPEN) + { + my_free(my_file_info[fd].name, MYF(0)); +#if defined(THREAD) && !defined(HAVE_PREAD) + pthread_mutex_destroy(&my_file_info[fd].mutex); +#endif + my_file_info[fd].type = UNOPEN; + my_file_opened--; + } + pthread_mutex_unlock(&THR_LOCK_open); + DBUG_RETURN(err); +} /* my_close */ + +File my_register_filename(File fd, const char *FileName, enum file_type + type_of_file, uint error_message_number, myf MyFlags) +{ if ((int) fd >= 0) { if ((int) fd >= MY_NFILE) @@ -58,62 +95,33 @@ File my_open(const char *FileName, int Flags, myf MyFlags) if (MyFlags & (MY_FFNF | MY_FAE | MY_WME)) my_error(EE_OUT_OF_FILERESOURCES, MYF(ME_BELL+ME_WAITTANG), FileName, my_errno); - DBUG_RETURN(-1); + return(-1); #else thread_safe_increment(my_file_opened,&THR_LOCK_open); #endif - DBUG_RETURN(fd); /* safeguard */ + return(fd); /* safeguard */ } pthread_mutex_lock(&THR_LOCK_open); if ((my_file_info[fd].name = (char*) my_strdup(FileName,MyFlags))) { my_file_opened++; - my_file_info[fd].type = FILE_BY_OPEN; + my_file_info[fd].type = type_of_file; #if defined(THREAD) && !defined(HAVE_PREAD) pthread_mutex_init(&my_file_info[fd].mutex,NULL); #endif pthread_mutex_unlock(&THR_LOCK_open); DBUG_PRINT("exit",("fd: %d",fd)); - DBUG_RETURN(fd); + return(fd); } pthread_mutex_unlock(&THR_LOCK_open); - (void) my_close(fd,MyFlags); + (void) my_close(fd, MyFlags); my_errno=ENOMEM; } else my_errno=errno; DBUG_PRINT("error",("Got error %d on open",my_errno)); if (MyFlags & (MY_FFNF | MY_FAE | MY_WME)) - my_error(EE_FILENOTFOUND, MYF(ME_BELL+ME_WAITTANG), FileName,my_errno); - DBUG_RETURN(fd); -} /* my_open */ - - - /* Close a file */ - -int my_close(File fd, myf MyFlags) -{ - int err; - DBUG_ENTER("my_close"); - DBUG_PRINT("my",("fd: %d MyFlags: %d",fd, MyFlags)); - - pthread_mutex_lock(&THR_LOCK_open); - if ((err = close(fd))) - { - DBUG_PRINT("error",("Got error %d on close",err)); - my_errno=errno; - if (MyFlags & (MY_FAE | MY_WME)) - my_error(EE_BADCLOSE, MYF(ME_BELL+ME_WAITTANG),my_filename(fd),errno); - } - if ((uint) fd < MY_NFILE && my_file_info[fd].type != UNOPEN) - { - my_free(my_file_info[fd].name, MYF(0)); -#if defined(THREAD) && !defined(HAVE_PREAD) - pthread_mutex_destroy(&my_file_info[fd].mutex); -#endif - my_file_info[fd].type = UNOPEN; - my_file_opened--; - } - pthread_mutex_unlock(&THR_LOCK_open); - DBUG_RETURN(err); -} /* my_close */ + my_error(error_message_number, MYF(ME_BELL+ME_WAITTANG), + FileName, my_errno); + return(fd); +} |