Cancelling network operations

Stefan Küng tortoisesvn at gmail.com
Thu Apr 22 12:41:51 EDT 2010


On 22.04.2010 18:33, Bert Huijben wrote:

> The only problem with that is that Subversion handles this the other
> way around:
>
> It calls into a user provided function that then checks for
> conditions on when it should cancel. (See my original proposal)
>
> So more like:
>
> typedef int (* ne_cancel_func_t)(void *userdata);
>
> void ne_session_set_cancel_callback(ne_session *sess,
> ne_cancel_func_t cancel_func, void *userdata)
>
> And neon should then call into that function, instead of checking the
> volatile variable itself.
>
> Subversion can then map this to call its svn_cancel_func_t, which in
> its turn is provided by the library user.

Yes, that would be much better.

> (The default implementation in 'svn' puts up a signal handler on the
> ^C signal, which handles it exactly like you suggested)

But don't forget that UI clients don't have such signal handlers, so the 
cancel callback is all they can use.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net



More information about the neon mailing list