/[LeafOK_CVS]/innwebd/service.cpp
ViewVC logotype

Annotation of /innwebd/service.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (hide annotations)
Fri Apr 11 17:14:49 2008 UTC (17 years, 11 months ago) by sysadm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +2 -6 lines
Content type: text/x-c++src
Update copyright
Add extra log for exception

1 sysadm 1.1 /*******************************************************/
2     /* */
3 sysadm 1.3 /* LeafOK Innbbsd */
4 sysadm 1.1 /* */
5 sysadm 1.9 /* Copyright (C) LeafOK.com, 2003-2008 */
6 sysadm 1.1 /* */
7 sysadm 1.9 /* http://www.leafok.com */
8 sysadm 1.1 /* */
9     /*******************************************************/
10    
11     #include "StdAfx.h"
12     #include ".\service.h"
13 sysadm 1.3 #include ".\App_common.h"
14 sysadm 1.1
15     using namespace std;
16    
17     service::service(void)
18 sysadm 1.3 :CNTService(App_common::ServiceName)
19 sysadm 1.1 {
20 sysadm 1.3 this->m_iMajorVersion = App_common::Ver_Major;
21     this->m_iMinorVersion = App_common::Ver_Minor;
22 sysadm 1.1 }
23    
24     service::~service(void)
25     {
26     }
27    
28     void service::Run()
29     {
30 sysadm 1.6 int startup_err_count = 0;
31    
32 sysadm 1.1 this->ctrld.StartupDelay();
33    
34 sysadm 1.2 this->ctrld.InitThreadPool();
35    
36 sysadm 1.5 while (this->m_bIsRunning)
37 sysadm 1.1 {
38 sysadm 1.6 if (this->ctrld.begin() == 0)
39 sysadm 1.3 {
40 sysadm 1.5 syslog << logfile::log_head << "Begin CONTROLD ... OK" << endl;
41 sysadm 1.3
42 sysadm 1.5 this->ctrld.StartupChild();
43    
44     break;
45     }
46     syslog << logfile::log_head << "Begin CONTROLD ... Failed" << endl;
47 sysadm 1.6
48     if (startup_err_count++ > 5)
49 sysadm 1.7 {
50     this->m_bIsRunning = false;
51 sysadm 1.6 break;
52 sysadm 1.7 }
53 sysadm 1.6
54     Sleep(1000 * 60 * 5);
55 sysadm 1.1 }
56 sysadm 1.5
57     while (this->m_bIsRunning && this->ctrld.IsRunning())
58 sysadm 1.1 {
59 sysadm 1.5 Sleep(100);
60     }
61    
62     this->ctrld.ShutdownChild();
63 sysadm 1.1
64     if (this->ctrld.end() == 0)
65     {
66 sysadm 1.3 syslog << logfile::log_head << "End CONTROLD ... OK" << endl;
67 sysadm 1.1 }
68     else
69     {
70 sysadm 1.3 syslog << logfile::log_head << "End CONTROLD ... Failed" << endl;
71 sysadm 1.1 }
72 sysadm 1.2
73     this->ctrld.CleanupThreadPool();
74 sysadm 1.1 }

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1