root/trunk/src/shared/Database/SqlDelayThread.cpp @ 102

Revision 102, 1.6 kB (checked in by yumileroy, 17 years ago)

[svn] Fixed copyright notices to comply with GPL.

Original author: w12x
Date: 2008-10-23 03:29:52-05:00

Line 
1/*
2 * Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/>
3 *
4 * Copyright (C) 2008 Trinity <http://www.trinitycore.org/>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21#include "Database/SqlDelayThread.h"
22#include "Database/SqlOperations.h"
23#include "DatabaseEnv.h"
24
25SqlDelayThread::SqlDelayThread(Database* db) : m_dbEngine(db), m_running(true)
26{
27}
28
29void SqlDelayThread::run()
30{
31    SqlOperation* s;
32    #ifndef DO_POSTGRESQL
33    mysql_thread_init();
34    #endif
35
36    while (m_running)
37    {
38        // if the running state gets turned off while sleeping
39        // empty the queue before exiting
40        ZThread::Thread::sleep(10);
41        while (!m_sqlQueue.empty())
42        {
43            s = m_sqlQueue.next();
44            s->Execute(m_dbEngine);
45            delete s;
46        }
47    }
48
49    #ifndef DO_POSTGRESQL
50    mysql_thread_end();
51    #endif
52}
53
54void SqlDelayThread::Stop()
55{
56    m_running = false;
57}
Note: See TracBrowser for help on using the browser.