take_next_sample stucks


In my code I don't always want my system to handle an incoming message just at that moment, so I create signals and that sort of things in the listeners to wake up appropriate mechanisms in the code. And when I handle these messages (I mean taking data from the datareader) I use take_next_sample method. But, unfortunately, after 1 or 2 messages, this method stucks giving no error. When I look at deeply, I saw that take_next_sample method tries to lock some database mutex and waits for the mutex (probably a deadlock or sth.). -- micro 2.4.7

Critical sections between datareader operations


We got a datareader receiving every 100 milliseconds (it's a mean value) batches of 100 samples each of the samples are 60 bytes in size. The datareader max_samples is 1000.

A thread takes samples into the datareader 100 by 100, using loaning function.

We observe that most of the time the "take" operation takes less than 200 microsecond but sometime (rarely) the "take" operation can takes as much as 3-6 milliseconds to return the loaned buffer.

Subscribe to RSS - take