Brent, Thanks for the reply and suggestions. As I mentioned, I did change the source for rrd_lock from using fcntl to flock and it made no difference. Hmmm. I guess I could try an experiment of doing a flock in my own app code (before calling rrdupdate). I would expect that to cause the rrdupdate to always fail, but it would confirm whether flock is working properly or not.
My apps are always waiting to receive sensor reports from their radio receiver, so they are always running. I have other sensors besides just temps and they all blindly broadcast, so the receiver app is always waiting for the next sensor report. I don't (and can't) start and stop the apps, since I would then lose reports. And I have no idea when the reports happen. The sensors use a Poisson distribution on a random number to determine when to transmit next. I have the sensors send reports more often than I need data for. That way, when collisions happen, I lose a report due to the collision, but future ones usually get through. I also have CRC on the reports so I can detect corruption in the transmission. That part has been working just fine for years. Since my problem is due to the two apps each receiving the same report (from the same sensor) and then trying to log that to rrdupdate, I suppose I could simply have one of the apps delay some small amount of time before calling rrdupdate. That might work around this problem. But I'd sure like to know what it is and what needs to be fixed to make it right. In any case, thanks for responding! -- View this message in context: http://rrd-mailinglists.937164.n2.nabble.com/rrdupdate-corruption-on-Mac-Snow-Leopard-tp7564325p7566299.html Sent from the RRDtool Users Mailinglist mailing list archive at Nabble.com. _______________________________________________ rrd-users mailing list [email protected] https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
