[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