[Nagios-devel] [RFC] fork error in check.c

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

[Nagios-devel] [RFC] fork error in check.c

Post by Guest »

This is a multi-part message in MIME format.
--------------090206000900010900000001
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi List,

since memory eating ePN is enabled as default in Nagios 3 some users ran
into fork error cause of memory limits, but no one told them.

They only see some log messages like: "Warning: The check of service xx
could not be performed due to a fork() error."

I've spent some time on the code and would suggest attached patch.

Since the "fork_error" is only filled once in
"run_async_service_check()", I guess it should be ok to move the logging
earlier up to the fork error, so we could use strerror() to determine
why the error occurs.
But I am not sure if the part:

if (fork_error == TRUE)
return ERROR;

has to stand at the last lines of the function or if we are able to
return quiet after the fork error.

It would be nice to see s.th. like sterror() in checks.c so that the
users out there could imagine why an fork error occurs.

Regards,
Hendrik

--------------090206000900010900000001
Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0";
name="checks.c.patch"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="checks.c.patch"

LS0tIG5hZ2lvcy5vcmlnL2Jhc2UvY2hlY2tzLmMgICAyMDA4LTAyLTI4IDIwOjI2OjEyLjAw
MDAwMDAwMCArMDEwMAorKysgbmFnaW9zL2Jhc2UvY2hlY2tzLmMgICAgICAgIDIwMDgtMDQt
MTIgMTg6MjI6MDkuMDAwMDAwMDAwICswMjAwCkBAIC02MTgsOCArNjE4LDE1IEBACiAgICAg
ICAgcGlkPWZvcmsoKTsKIAogICAgICAgIC8qIGFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHRy
eWluZyB0byBmb3JrICovCi0gICAgICAgaWYocGlkPT0tMSkKKyAgICAgICBpZihwaWQ9PS0x
KXsKICAgICAgICAgICAgICAgIGZvcmtfZXJyb3I9VFJVRTsKKyAgICAgICAgICAgICAgIGxv
Z2l0KE5TTE9HX1JVTlRJTUVfV0FSTklORyxUUlVFLCJXYXJuaW5nOiBUaGUgY2hlY2sgb2Yg
c2VydmljZSAnJXMnIG9uIGhvc3QgJyVzJyBjb3VsZCBub3QgYmUgcGVyZm9ybWVkIGR1ZSB0
byBhIGZvcmsoKSBlcnJvcjogJyVzJy4gIFRoZSBjaGVjayB3aWxsIGJlIHJlc2NoZWR1bGVk
LiBcbiIsc3ZjLT5kZXNjcmlwdGlvbixzdmMtPmhvc3RfbmFtZSwgc3RyZXJyb3IoZXJybm8p
KTsKKworICAgICAgICAgICAgICAgbG9nX2RlYnVnX2luZm8oREVCVUdMX0NIRUNLUywwLCJD
aGVjayBvZiBzZXJ2aWNlICclcycgb24gaG9zdCAnJXMnIGNvdWxkIG5vdCBiZSBwZXJmb3Jt
ZWQgZHVlIHRvIGEgZm9yaygpIGVycm9yOiAnJXMnIVxuIixzdmMtPmRlc2NyaXB0aW9uLHN2
Yy0+aG9zdF9uYW1lLCBzdHJlcnJvcihlcnJubykpOworCisgICAgICAgICAgICAgICB3cml0
ZV90b19sb2dzX2FuZF9jb25zb2xlKHRlbXBfYnVmZmVyLCBOU0xPR19SVU5USU1FX1dBUk5J
TkcsIFRSVUUpOworICAgICAgICAgICAgICAgbXlfZnJlZSh0ZW1wX2J1ZmZlcik7CisgICAg
ICAgfQogCiAgICAgICAgLyogaWYgd2UgYXJlIGluIHRoZSBjaGlsZCBwcm9jZXNzLi4uICov
CiAgICAgICAgZWxzZSBpZihwaWQ9PTApewpAQCAtODUwLDE1ICs4NTcsOCBAQAogICAgICAg
ICAgICAgICAgfQogCiAgICAgICAgLyogc2VlIGlmIHdlIGNvdWxkIHJ1biB0aGUgY2hlY2su
Li4gKi8KLSAgICAgICBpZihmb3JrX2Vycm9yPT1UUlVFKXsKLQotICAgICAgICAgICAgICAg
LyogbG9nIGFuIGVycm9yICovCi0gICAgICAgICAgICAgICBsb2dpdChOU0xPR19SVU5USU1F
X1dBUk5JTkcsVFJVRSwiV2FybmluZzogVGhlIGNoZWNrIG9mIHNlcnZpY2UgJyVzJyBvbiBo
b3N0ICclcycgY291bGQgbm90IGJlIHBlcmZvcm1lZCBkdWUgdG8gYSBmb3JrKCkgZXJyb3Iu
ICBUaGUgY2hlY2sgd2lsbCBiZSByZXNjaGVkdWxlZC5cbiIsc3ZjLT5kZXNjcmlwdGlvbixz
dmMtPmhvc3RfbmFtZSk7Ci0KLSAgICAgICAgICAgICAgIGxvZ19kZWJ1Z19pbmZvKERFQlVH
TF9DSEVDS1MsMCwiQ2hlY2sgb2Ygc2VydmljZSAnJXMnIG9uIGhvc3QgJyVzJyBjb3VsZCBu
b3QgYmUgcGVyZm9ybWVkIGR1ZSB0byBhIGZvcmsoKSBlcnJvciFcbiIsc3ZjLT5kZXNjcmlw
dGlvbixzdmMtPmhvc3RfbmFtZSk7Ci0KKyAgICAgICBpZihmb3JrX2Vycm9yPT1UUlVFKQog
ICAgICAgICAgICAgICAgcmV0dXJuIEVSUk9SOwotICAgICAgICAgICAgICAgfQogCiAgICAg
ICAgcmV0dXJuIE9LOwogICAgICAgICB9Cg==
--------------090206000900010900000001--





This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked