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

RE: permissions (and other) problems

From: Jon Watte <hplus_at_mindcontrol.org>
Date: 2002-09-13 01:05:29 CEST

> >A slightly less kludgey fix is to install a SIGINT handler which
> >does a longjmp() to some routine which cleans up all currently
> >registered "cleanup" handlers. Typically, something that starts
> >a transaction will register transaction rollback as a cleanup task,
> >and something which opens the database will register database close
> >as a cleanup task...

> No. We want to be portable, and doing anythint except setting a
> sig_atomic_t global variable from within a signal handler is not portable.

While that is probably true, the benefit of using the signal handler
approach is that you can also catch SIGSEGV to do the same clean-up :-)

Regarding portability and practice: I've found longjumps from out of
signal handlers to be useable on all flavors of Windows, as well as
all flavors of UNIX I've used. Where else will subversion run that is
also a place where longjmp() out of signal handlers won't work?

(Don't count MacOS Classic, as that doesn't even have signals proper.)

Anyway, I just thought I'd offer this suggestion, as it often saves a
lot of work, and often can be made to be very robust. If you'd rather
be checking error codes, go right ahead.

Cheers,

                                / h+

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Sep 13 01:07:46 2002

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