By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,413 Members | 999 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,413 IT Pros & Developers. It's quick & easy.

windows service not starting, may be something to do with static variables

P: n/a
Hi,
I have written a service that can start and stop normally using net
start and net stop but when I reboot the machine the serivce does not
restart. The code seems to bomb out on the following line.

m_pFileLogAppender = new FileLogAppender(severity, logFile);
The class FileLogAppender is a singleton, actually it inherites from a
template singleton base class. I am wondering if this is the problem,
the singleton base class implements a static instance variable and
maybe this has not been initialized yet. Could this be the problem, is
there a way that I can ensure that it has been initialized. By using a
pragma maybe.

Am I on the correct path at all.

Your help yould be greatly appreciated this is really hard to debug as
the machine is rebooting.

Thanks,
Enda Mannion

Jul 3 '06 #1
Share this Question
Share on Google+
3 Replies


P: n/a

<ke****************@yahoo.co.ukwrote in message
news:11**********************@b68g2000cwa.googlegr oups.com...
Hi,
I have written a service that can start and stop normally using net
start and net stop but when I reboot the machine the serivce does not
restart. The code seems to bomb out on the following line.

m_pFileLogAppender = new FileLogAppender(severity, logFile);
The class FileLogAppender is a singleton, actually it inherites from a
If FileLogAppender is a singleton, why are you creating a new instance of
it? A singleton is normally accessed by something like:
FileLogAppender::GetInstance()

This could indeed be your problem depending on the imlpementation of
FileLogAppender
Allan
Jul 3 '06 #2

P: n/a
[cross-posting deleted]

ke****************@yahoo.co.uk wrote:
I have written a service that can start and stop normally using net
start and net stop but when I reboot the machine the serivce does not
restart. The code seems to bomb out on the following line.

m_pFileLogAppender = new FileLogAppender(severity, logFile);
The class FileLogAppender is a singleton, actually it inherites from a
template singleton base class. I am wondering if this is the problem,
the singleton base class implements a static instance variable and
maybe this has not been initialized yet. Could this be the problem, is
there a way that I can ensure that it has been initialized. By using a
pragma maybe.

Am I on the correct path at all.

Your help yould be greatly appreciated this is really hard to debug as
the machine is rebooting.
Windows, net start/stop, services, etc. are off-topic in this newsgroup
(see this FAQ:
http://www.parashift.com/c++-faq-lit....html#faq-5.9), but
you may have an on-topic C++ language question here. Can you reduce the
failure to a *minimal* but *complete* compilable sample that you could
post here for us to inspect? (Compare these code posting tips:
http://www.parashift.com/c++-faq-lit...t.html#faq-5.8.)

Cheers! --M

Jul 3 '06 #3

P: n/a
I have changed my implementation of the singleton class, now I use
::Instance() to return a pointer to the class instance instead of using
new.

But the service is still not starting up on a reboot. My implementation
works fine when I use net start when the machine is already running.

On a reboot the code terminates when I try to reference the singleton.

Anyone have any ideas, is there any pragmas I can use??

Thanks,
Enda

mlimber wrote:
[cross-posting deleted]

ke****************@yahoo.co.uk wrote:
I have written a service that can start and stop normally using net
start and net stop but when I reboot the machine the serivce does not
restart. The code seems to bomb out on the following line.

m_pFileLogAppender = new FileLogAppender(severity, logFile);
The class FileLogAppender is a singleton, actually it inherites from a
template singleton base class. I am wondering if this is the problem,
the singleton base class implements a static instance variable and
maybe this has not been initialized yet. Could this be the problem, is
there a way that I can ensure that it has been initialized. By using a
pragma maybe.

Am I on the correct path at all.

Your help yould be greatly appreciated this is really hard to debug as
the machine is rebooting.

Windows, net start/stop, services, etc. are off-topic in this newsgroup
(see this FAQ:
http://www.parashift.com/c++-faq-lit....html#faq-5.9), but
you may have an on-topic C++ language question here. Can you reduce the
failure to a *minimal* but *complete* compilable sample that you could
post here for us to inspect? (Compare these code posting tips:
http://www.parashift.com/c++-faq-lit...t.html#faq-5.8.)

Cheers! --M
Jul 4 '06 #4

This discussion thread is closed

Replies have been disabled for this discussion.