summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorunknown <ibabaev@bk-internal.mysql.com>2007-06-02 00:57:25 +0200
committerunknown <ibabaev@bk-internal.mysql.com>2007-06-02 00:57:25 +0200
commit5697c0c10ceeace7e14f47dd6e9c2d2e0552e78b (patch)
tree5339c6747631cb919dd972d0b8a25a0958bceba5 /sql/sql_class.h
parent865f294fcfe14bf69a85eb8ba1260b7a4af45d7d (diff)
parente21076463c4c1721bfd7150ff2350d634009755a (diff)
downloadmariadb-git-5697c0c10ceeace7e14f47dd6e9c2d2e0552e78b.tar.gz
Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into bk-internal.mysql.com:/data0/bk/mysql-5.0-opt mysql-test/r/sp.result: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/strict.test: Auto merged mysql-test/t/subselect3.test: Auto merged sql/mysqld.cc: Auto merged sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_view.cc: Manual merge
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 90c959a1922..2ff5448f3e4 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -1397,7 +1397,14 @@ public:
DYNAMIC_ARRAY user_var_events; /* For user variables replication */
MEM_ROOT *user_var_events_alloc; /* Allocate above array elements here */
- enum killed_state { NOT_KILLED=0, KILL_BAD_DATA=1, KILL_CONNECTION=ER_SERVER_SHUTDOWN, KILL_QUERY=ER_QUERY_INTERRUPTED };
+ enum killed_state
+ {
+ NOT_KILLED=0,
+ KILL_BAD_DATA=1,
+ KILL_CONNECTION=ER_SERVER_SHUTDOWN,
+ KILL_QUERY=ER_QUERY_INTERRUPTED,
+ KILLED_NO_VALUE /* means neither of the states */
+ };
killed_state volatile killed;
/* scramble - random string sent to client on handshake */
@@ -1670,7 +1677,8 @@ public:
void end_statement();
inline int killed_errno() const
{
- return killed != KILL_BAD_DATA ? killed : 0;
+ killed_state killed_val; /* to cache the volatile 'killed' */
+ return (killed_val= killed) != KILL_BAD_DATA ? killed_val : 0;
}
inline void send_kill_message() const
{