SDP_RETRY_IF_BUSY and timeout of service search process
From: Rodolpho Atoji <hidden>
Date: 2009-06-24 22:49:17
Hello,
I'm using bluez-3.32 and I would like to know the timeout
for the service search process, with or without using
SDP_RETRY_IF_BUSY.
Reading the code, it's possible to see that the function
sdp_send_req_w4_resp() is used for all the search functions.
So, without using SDP_RETRY_IF_BUSY the timeout
should be the sum of timeouts of sdp_send_req() and
sdp_read_rsp().
The timeout of sdp_send_req() is the timeout of send(),
which is SO_SNDTIMEO. The timeout of sdp_read_rsp()
is SDP_RESPONSE_TIMEOUT, so the timeout of
the service search process without retries should be
SO_SNDTIMEO + SDP_RESPONSE_TIMEOUT, am I
right?
Regarding to the "busy" state of the device, what is
it, exactly?
As shown on (sdp.c:4095):
do {
...
} while (errno == EBUSY && (flags & SDP_RETRY_IF_BUSY));
When SDP_RETRY_IF_BUSY is used, the timeout of
service search process can be indefinitely extended
above the timeout calculated?
Thanks in advance and best regards,
Rodolpho