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

Re: svn commit: r37709 - trunk/subversion/libsvn_subr

From: Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA_at_GMail.Com>
Date: Wed, 13 May 2009 12:30:53 +0200

2009-05-12 21:11 Greg Stein <gstein_at_gmail.com> napisaƂ(a):
> On Tue, May 12, 2009 at 20:20, Branko Cibej <brane_at_xbc.nu> wrote:
>> Arfrever Frehtes Taifersar Arahesis wrote:
>>>> Why is this necessary?
>>>>
>>>> If the error is useful, the full error message can be returned (as wrapped
>>>> error?) in the svn_error_t* returned by this function
>>>>
>>>
>>> The doc string of svn_dso_load() contains:
>>> "If @a libname cannot be loaded set @a dso to NULL and return @c SVN_NO_ERROR."
>>>
>>> The error message might be useful to find bugs such as the one introduced
>>> in r35309+r35385+r36823.
>>>
>>
>> Never mind if it might be useful; we do not print anything from our
>> libraries. It's just Not Done and I don't care about broken libraries
>> that do expect to be able to print anything.
>
> To be fair, the print is within SVN_DEBUG which means "only svn devs"
>
> But yah: rev the API and improve the error return. Consumers can
> always throw out the error.

`svn`, `svnsync` etc. should probably print the error message
retrieved from apr_dso_error(), but they must try to continue to work
when dynamic loading of a library failed. For example, when dynamic
loading of libsvn_ra_neon-1.so.0 fails during accessing a repository
through http:// protocol, libsvn_ra_serf-1.so.0 might be available, so
libsvn_ra-1.so.0 should try to dynamically load libsvn_ra_serf-1.so.0.

svn_dso_load() is called only by Subversion libraries (libsvn_subr,
libsvn_fs, libsvn_subr), not by `svn` and other programs, so I'm not
sure how to implement sending of error message from a library function
(which calls svn_dso_load()) to a program without returning error from
this function.

--
Arfrever Frehtes Taifersar Arahesis
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2234615
Received on 2009-05-13 12:31:20 CEST

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