Are neb_register_callback()s threadsafe?

Andreas Ericsson ae at op5.se
Thu Sep 6 11:32:47 CEST 2012


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.ericsson at 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 at 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





More information about the Users mailing list