You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The documentation about the timeout for BPF.ring_buffer_poll(timeout=T) is unclear.
At least for me.
It states:
The timeout parameter is optional and measured in milliseconds. In its absence, polling continues until there is no more data or the callback returns a negative value.
From reading this I get an understanding, that if there is no timeout specified and no data available in the ringbuffer (yet), the function would not block but return immediately.
My experiments on the other hand show that it does block indefinitely and waits for data.
For my use case supplying a timeout fixes the problem,
but may I suggest to be more precise in the documentation?
Indefinitely is of course an overstatement, but when running the python program with debugger it shows that it hangs at this call.
I of course only waited a few seconds before killing my program,
but how I interpret the documentation is that without timeout it would either read from the buffer and return or if it is empty just return and never wait.
The documentation about the timeout for
BPF.ring_buffer_poll(timeout=T)
is unclear.At least for me.
It states:
From reading this I get an understanding, that if there is no timeout specified and no data available in the ringbuffer (yet), the function would not block but return immediately.
My experiments on the other hand show that it does block indefinitely and waits for data.
For my use case supplying a timeout fixes the problem,
but may I suggest to be more precise in the documentation?
I am talking about this line here.
The text was updated successfully, but these errors were encountered: