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