Our project(client\server application) support redundancy(i.e there 2 running servers,one of them is the root and the other is the secondary,and there are multiple clients connected to each one of the servers.once the root server is down,the secondary becomes the root server and continue to serve the clients from the same location the other server stopped).
The servers uses PING messages between them to realize when a server(which can be the root server) is down(to switch to another root).
In addition,we wrote some kind of watchdog application,which is running on each server,and which is being notified by it's server(keep alive events).
In case that the watchdog didn't get such keepalive event for a predefined period of time(for example - the server is in endless loop) - the watchdog resets it's server in order to let another server to become a root server.
So far so good
During one of our unit test,we encountered a problem which causes the operating system(Windows XP) of the root server to hangs(note that not only the server application hangs but the computer is not responding).
In such case the watchdog application is not working also,therefor - cannot reset the root server.
You probably ask yourself:
"So whats the problem?
The other server will try to PING to the other root server,and since the PING process will fail,the
other server will become the root server."
For some reason,though the operating system hangs - it still response to PING request.
Now for the questions...
1. We're looking for an API which causes the operating system to hangs (so when we'll fiind a
solution we will be able test it.
2. Is there another way to stop PING handling while the operating system hangs?
3. Is there a built in watchdog mechanism in Windows XP that we can use(or another watchdog
application which runs in a lower level and can reset the computer in case that the operating
Sorry for the (very) lonk post...
With best regards,