[Live-devel] Slight authentication change
Ross Finlayson
finlayson at live555.com
Wed Nov 17 12:37:57 PST 2010
>That would work. But it might also lead to crashing issues if
>people call setAuthenticationDatabase on something other than the
>primary Live555 thread. (I can envision a scenario where something
>calls setAuthenticationDatabase(NULL) at precisely the moment
>between the NULL check and the actual authentication with the
>UserAuthenticationDatabase*, which would result in dereferencing a
>null pointer).
And that is *precisely* why you should not be doing this. I've made
it very clear (in the FAQ and elsewhere) that LIVE555 applications
have a single thread of execution (using an event loop, rather than
threads, for concurrency). Other threads should not access the
library (except perhaps to set global variables - e.g., 'watch
variables' that the event loop may use to detect 'events'). If you
do otherwise, then you can't expect any support.
>I know Live555 is "single threaded," so maybe you consider this
>entire line of reasoning invalid, but I think there's considerable
>room for error with setting the entire object to NULL.
Not if you use the library properly.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list