~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/main.cc

Merge with trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
#include "drizzled/signal_handler.h"
62
62
#include "drizzled/replication_services.h"
63
63
#include "drizzled/transaction_services.h"
 
64
#include "drizzled/catalog/local.h"
64
65
 
65
66
#include "drizzled/util/backtrace.h"
66
67
 
226
227
#endif
227
228
 
228
229
  module::Registry &modules= module::Registry::singleton();
229
 
  plugin::Client *client;
230
230
 
231
231
  MY_INIT(argv[0]);             // init my_sys library & pthreads
232
232
  /* nothing should come before this line ^^^ */
328
328
 
329
329
  /* Send server startup event */
330
330
  {
331
 
    Session *session;
 
331
    Session::shared_ptr session;
332
332
 
333
 
    if ((session= new Session(plugin::Listen::getNullClient())))
 
333
    if ((session= Session::make_shared(plugin::Listen::getNullClient(), catalog::local())))
334
334
    {
335
335
      currentSession().release();
336
 
      currentSession().reset(session);
337
 
      transaction_services.sendStartupEvent(session);
338
 
      delete session;
 
336
      currentSession().reset(session.get());
 
337
      transaction_services.sendStartupEvent(session.get());
339
338
    }
340
339
  }
341
340
 
342
341
 
343
 
  /* Listen for new connections and start new session for each connection
 
342
  /* 
 
343
    Listen for new connections and start new session for each connection
344
344
     accepted. The listen.getClient() method will return NULL when the server
345
 
     should be shutdown. */
 
345
     should be shutdown.
 
346
   */
 
347
  plugin::Client *client;
346
348
  while ((client= plugin::Listen::getClient()) != NULL)
347
349
  {
348
 
    Session::shared_ptr session(new Session(client));
 
350
    Session::shared_ptr session;
 
351
    session= Session::make_shared(client, catalog::local());
349
352
 
350
353
    if (not session)
351
354
    {
360
363
 
361
364
  /* Send server shutdown event */
362
365
  {
363
 
    Session *session;
 
366
    Session::shared_ptr session;
364
367
 
365
 
    if ((session= new Session(plugin::Listen::getNullClient())))
 
368
    if ((session= Session::make_shared(plugin::Listen::getNullClient(), catalog::local())))
366
369
    {
367
370
      currentSession().release();
368
 
      currentSession().reset(session);
369
 
      transaction_services.sendShutdownEvent(session);
370
 
      delete session;
 
371
      currentSession().reset(session.get());
 
372
      transaction_services.sendShutdownEvent(session.get());
371
373
    }
372
374
  }
373
375