summaryrefslogtreecommitdiff
path: root/sql/sql_udf.cc
diff options
context:
space:
mode:
authorunknown <pem@mysql.com>2006-03-03 12:03:27 +0100
committerunknown <pem@mysql.com>2006-03-03 12:03:27 +0100
commit5a78cd7a7294f7a930389874f64d6c252f485704 (patch)
treee2df16ff96563c43b76904332f584b344892a56f /sql/sql_udf.cc
parent104b9e789a60c8881e6e82cbbf7b8d919ff1bbf1 (diff)
parente2ba74b8252586bd27ace8603aab33c76b2b50cd (diff)
downloadmariadb-git-5a78cd7a7294f7a930389874f64d6c252f485704.tar.gz
Merge mysql.com:/extern/mysql/5.0/bug17476/mysql-5.0
into mysql.com:/extern/mysql/5.1/generic/mysql-5.1-new mysql-test/mysql-test-run.pl: Auto merged mysql-test/mysql-test-run.sh: Auto merged mysql-test/r/grant2.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/t/grant2.test: Auto merged mysql-test/t/skip_grants.test: Auto merged mysql-test/t/sp.test: Auto merged scripts/make_binary_distribution.sh: Auto merged sql/field_conv.cc: Auto merged sql/item.h: Auto merged sql/item_timefunc.cc: Auto merged sql/sql_udf.cc: Auto merged VC++Files/mysql.sln: Manual merge (use local). configure.in: Manual merge. sql/table.cc: Manual merge.
Diffstat (limited to 'sql/sql_udf.cc')
-rw-r--r--sql/sql_udf.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/sql/sql_udf.cc b/sql/sql_udf.cc
index 5d73c139279..69c5388f776 100644
--- a/sql/sql_udf.cc
+++ b/sql/sql_udf.cc
@@ -284,6 +284,10 @@ static void del_udf(udf_func *udf)
void free_udf(udf_func *udf)
{
DBUG_ENTER("free_udf");
+
+ if (!initialized)
+ DBUG_VOID_RETURN;
+
rw_wrlock(&THR_LOCK_udf);
if (!--udf->usage_count)
{
@@ -308,6 +312,9 @@ udf_func *find_udf(const char *name,uint length,bool mark_used)
udf_func *udf=0;
DBUG_ENTER("find_udf");
+ if (!initialized)
+ DBUG_RETURN(NULL);
+
/* TODO: This should be changed to reader locks someday! */
if (mark_used)
rw_wrlock(&THR_LOCK_udf); /* Called during fix_fields */