Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.6.x
-
None
-
Windows XP
Description
Hello, In my company, we use a homemade Windows service to launch processes on remote servers (one service per server). A central scheduling program connects to the remote service and then fires jobs on the machine. This way, backup of our SVN repository is scheduled and the command "svnadmin.exe dump D:\SVN_repos > D:\SVN_backups\myfile.dmp" is launched through this Windows service. While testing and stressing this solution, I noticed svnadmin.exe has been killed during its dump when I was logging off the server ("2010-01-05 16:23:12,682 TRACE [Service] svnadmin: Caught signal" in the log). After searching a bit on my favourite search engine, I realized that, on Windows, every process (even services!) receives a CTRL_LOGOFF_EVENT, and if this signal is not caught by the program, process is killed. Each service on Windows, event started with LocalSystem account receives a CTRL_LOGOFF_EVENT (cf http://msdn.microsoft.com/en-us/library/aa376876%28VS.85%29.aspx). As I understand a program must implement a HandlerRoutine Callback function to ignore such events (http://msdn.microsoft.com/en-us/library/ms683242%28VS.85%29.aspx). What I could suggest is to add a parameter to svnadmin to reduce OS signals usage [like -Xrs flag for several JVMs]. Thanks in advance for your help, Nicolas PS : I entered Windows XP as OS but in fact it's Windows 2003 (not in the combo list)
Original issue reported by nhannebicque