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

SVN_ERR_ASSERT calls abort() in non-maintainer-mode

From: Arwin Arni <arwin_at_collab.net>
Date: Thu, 19 May 2011 19:18:14 +0530

In our implementation of SVN_ERR_ASSERT, we do:

#define SVN_ERR_ASSERT(expr) \
   do { \
     if (!(expr)) \
       SVN_ERR(svn_error__malfunction(TRUE, __FILE__, __LINE__, #expr)); \
   } while (0)

This ends up calling svn_error_abort_on_malfunction (inside
subversion/libsvn_subr/error.c) which calls abort() indiscriminately:

svn_error_t *
svn_error_abort_on_malfunction(svn_boolean_t can_return,
                                const char *file, int line,
                                const char *expr)
{
   svn_error_t *err = svn_error_raise_on_malfunction(TRUE, file, line,
expr);

   svn_handle_error2(err, stderr, FALSE, "svn: ");
   abort();
   return err; /* Not reached. */
}

Wouldn't this abort() regardless of maintainer-mode?
Shouldn't there be some difference between maintainer-mode and production?

Am I missing something here?

Regards,
Arwin Arni
Received on 2011-05-19 15:48:48 CEST

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.