Daniel Stenberg wrote: > On Tue, 31 Aug 2010, Michel Valin wrote: > >>> 1) Provide an APIs and let the caller set mutex hooks. >>> >>> Pros: >>> - The library does not have to link a thread library. >>> - No layering violation. >>> >>> Cons: >>> - It is easy to forget to make this call when you are writing >>> a multi-threaded program, which can lead to subtle errors. >> >> This one can be alleviated by having the library issue a warning >> message at first initialization (lib_sh2_init) reminding the user that >> the thread-safe hook is not set. > > Not really. > > First, how would that warning be issued? We can't assume that the > library can send any output anywhere that anyone will notice.
true, one can never be sure that stderr will be connected (or that it will be read if it is :-) ) > > Secondly, the library doesn't know if it will be used threaded so it > would have no warn on every init that doesn't use the mutex callbacks > even if they wouldn't be needed! true again, that's why i said alleviated rather than solved. call that collateral noise. in that case a non threaded program would have to supply a do nothing mutex hook. (definitely not a pro) > -- Michel Valin [email protected] _______________________________________________ libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
