root/lang/cplusplus/SleipnirGoogleSuggest/Debug.cpp

Revision 14174, 0.8 kB (checked in by saturday06, 7 months ago)

アカウントもらった記念に今作ってるものを全部うp

Line 
1#include "StdAfx.h"
2#include "Debug.h"
3
4namespace SleipnirGoogleSuggest {
5namespace Debug {
6static struct {
7    LONG loggerState; // 0=������1=����, 2=����, 3=�폜�� XXX ����
8    boost::shared_ptr<Slog> logger; // XXX ���̎g�������Ȃ̂��H�H
9} globals = {};
10
11Slog& GetLogger() {
12    if (globals.loggerState == 0 && InterlockedExchange(&globals.loggerState, 1) == 0) {
13        std::stringstream filename;
14        filename << "D:\\tmp\\sleipnirgs_pid" << GetCurrentProcessId() << ".csv";
15        globals.logger = boost::shared_ptr<Slog>(new Slog(filename.str(), "", true, false));
16        InterlockedExchange(&globals.loggerState, 2);
17    }
18    // logger���������܂ő҂�
19    // XXX �ǂݍ��݂̓�������ƃ_���H
20    while (globals.loggerState != 2) {
21        Sleep(100);
22    }
23    return *globals.logger;
24}
25}
26}
27
Note: See TracBrowser for help on using the browser.