Joerg Bruehe wrote:

Yes, it does announce.
I wrote "any external event ... that Windows *would* monitor" (emphasis added): Does the Windows ServiceManager really know which file to monitor for which entry to announce the service as "running" ?

see below.


in practice we find the service comes up to RUNNING within several seconds of when we announce its being started. this is the longest delay between RUNNING and ready-to-accept we have seen so far in testing, on the order of 10 seconds.

I perfectly understand this delay is bad for you.

actually, as i tried to say initially, its more an inconvenience than bad. we are presently simply polling by attempting to make connections and catching exceptions until we succeed. after which we consider the MySQL service up and running.

If you find some documentation telling how the MySQL server could tell the Windows ServiceManager that it is now really ready to accept connections, then please file a bug (feature request) with a pointer to that info.

well, your server already communicates using the SetServiceStatus function. for example, see the ServiceMain and SetStatus functions in nt_servc.cc. here is the MSDN docs on the function:

 http://msdn.microsoft.com/en-us/library/ms686241(VS.85).aspx



For now, I assume the ServiceManager just monitors whether a process is running, and so an unknown time for the initialization phase cannot be handled exactly.


the service tells the ServiceManager about its state. for some reason, your Windows programmers have decided to announce STATE_RUNNING before the engines are up and accepting connections. perhaps they have good reasons for doing that. the purpose of my email was to see what could be done, if anything. if you think it's worth a feature request, i will try that.

thanks

Les

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to