Fixed MXS - 165: Concurrency issue while incrementing sessions in

qlafilter
This commit is contained in:
Sriram Patil
2015-05-20 17:47:58 +05:30
parent 36b963805b
commit 4eddec7989

View File

@ -50,6 +50,7 @@
#include <sys/time.h> #include <sys/time.h>
#include <regex.h> #include <regex.h>
#include <string.h> #include <string.h>
#include <atomic.h>
/** Defined in log_manager.cc */ /** Defined in log_manager.cc */
extern int lm_enabled_logfiles_bitmask; extern int lm_enabled_logfiles_bitmask;
@ -304,7 +305,9 @@ char *remote, *userName;
sprintf(my_session->filename, "%s.%d", sprintf(my_session->filename, "%s.%d",
my_instance->filebase, my_instance->filebase,
my_instance->sessions); my_instance->sessions);
my_instance->sessions++;
// Multiple sessions can try to update my_instance->sessions simultaneously
atomic_add(&(my_instance->sessions), 1);
if (my_session->active) if (my_session->active)
{ {