Revision 755d5487f554cf585f3b988088dc20fad65d1bf6
Shkutkov Michael
mish at rsu.ru
Wed Jul 11 18:20:34 EDT 2007
Mark Doliner wrote:
> On Wed, 11 Jul 2007 16:27:15 +0400, Shkutkov Michael wrote
>
>> Mark Doliner wrote:
>>
>>> On Tue, 10 Jul 2007 18:51:40 -0400 (EDT), mshkutkov wrote
>>>
>>>
>>>> -----------------------------------------------------------------
>>>> Revision: 755d5487f554cf585f3b988088dc20fad65d1bf6
>>>> Ancestor: 1b455e6f5ef8d75f46d5faa291a761ec59269586
>>>> Author: mshkutkov at soc.pidgin.im
>>>> Date: 2007-07-10T21:19:49
>>>> Branch: im.pidgin.soc.2007.remotelogging
>>>>
>>>> Modified files:
>>>> libpurple/connection.c
>>>>
>>>> ChangeLog:
>>>>
>>>> purple_connection_set_state was made nonblocking by using
>>>>
>>>>
>>> purple_log_write_nonblocking.
>>>
>>> I haven't been following the remotelogging branch, but this change seems weird
>>> to me. So will we need to change all code that calls purple_log_write() to
>>> now call purple_log_write_nonblocking()?
>>>
>>> Couldn't we just change purple_log_write() to always be nonblocking?
>>> purple_log_write() could strdup the message, and then free it after it's been
>>> written to the file. So you could get rid of the 'cb' parameter and just
>>> handle it internally in log.c. That way the callers of purple_log_write()
>>> wouldn't need to re-implement it every time.
>>>
>>> You could even optimize that a little bit so that purple_log_write() accepts a
>>> true/false parameter that, when false it strdups the message, but when true it
>>> takes ownership of the passed in message string and frees it when finished.
>>>
>>> -Mark
>>>
>>>
>>>
>> Having puprle_log_write function which call callback maybe useful,
>> because in callback we know the result of writing message, was it
>> successful or not.
>> So we can handle this information and for example the UI could
>> display a failure message.
>>
>
> I kinda feel like, if the logger isn't able to log something, then it is the
> responsibility of the logger to show an error message. And the caller of
> purple_log_write() shouldn't have to deal with it.
I don't think so, because logger is a part of libpurple, and showing
error message is the resposibility of UI...
--
With best regards,
Shkutkov Michael
More information about the Devel
mailing list