[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

"svnadmin dump" run as Windows service killed by user logoff event

From: Nicolas Hannebicque <nhannebicque_at_cofisun.com>
Date: Wed, 13 Jan 2010 14:24:11 +0100


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.

Yesterday, 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.

Did you run into such a situation? If yes how did you make it work? If
no, don't you think I should file an issue? I could suggest be add a
parameter to svnadmin to reduce OS signals usage [like -Xrs flag for
several JVMs].

Thanks in advance for your help,


PS : Maybe have you already seen this message on the subversion user
list (no answer) and on the tigris forum, where I got one answer
Id=2435481) ; I'm afraid 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

Email Disclaimer
Received on 2010-01-13 14:27:53 CET

This is an archived mail posted to the Subversion Dev mailing list.