bt_gatt_notify() blocks thread nrf Connect SDK v2.4

Hi,

We're using nrf Connect SDK v2.4 and have issues when calling bt_gatt_notify() from our main thread.  The bt_gatt_notify() function blocks even though we have the CONFIG_BT_L2CAP_TX_BUF_COUNT parameter set to 20.  What is the earliest version of the SDK which will not block when calling bt_gatt_notify() if one exists?  Is there  a function we can call to determine how many notifications are pending in the transmit queue?

Parents
  • I have this problem too, causing intermittent serious misbehaviour in our product.

    No solution yet. I'm considering at least protecting the main thread from this blocking issue by moving the top level function calling bt_gatt_notify into a new thread purely for the purpose of isolating the burden of the blocking wait.

    I have this issue reproducibly occurring when connections with a subscriber device are intermittent, leading to the main thread blocked for multiple seconds. Unacceptable result.

Reply
  • I have this problem too, causing intermittent serious misbehaviour in our product.

    No solution yet. I'm considering at least protecting the main thread from this blocking issue by moving the top level function calling bt_gatt_notify into a new thread purely for the purpose of isolating the burden of the blocking wait.

    I have this issue reproducibly occurring when connections with a subscriber device are intermittent, leading to the main thread blocked for multiple seconds. Unacceptable result.

Children
Related