On 09/05/2012 02:05 PM, Razvan Cojocaru wrote: >> That depends on what you mean by "threadsafe". If you intend to use >> multiple threads in your own module, you'll have to take care not to >> do anything that upsets Nagios. > > Obviously. Multiple threads are not involved. > >> If you mean "will multiple Nagios threads try to rip my data out from >> under my feet?", then no, but other modules might. > > Yes, the question was: assuming a single thread model, nothing fancy, > would it be possible that my_callback() gets called from several > Nagios-created threads? > > Is write_to_all_logs() a candidate for race conditions (especially since > other modules / threads might very well use it)? >
That depends on whether those other modules are using other threads than their main one to access the logging functions or not. Code for Nagios 4 and you shouldn't have to worry about threads at all. They're frowned upon rather sternly in Nagios 4, since the core isn't threaded anymore and as such can't even be made to keep locks in API functions that are sensitive to thread contention. -- Andreas Ericsson andreas.erics...@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 Considering the successes of the wars on alcohol, poverty, drugs and terror, I think we should give some serious thought to declaring war on peace. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Nagios-users mailing list Nagios-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagios-users ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null