Blocking and Specifying Timeout
Go Up to Querying the Services Manager
You can request output of a service task in progress using
isc_service_query(). Your call to
isc_service_query() does not return until either the request has completed, or the result buffer is full. If there are no data to return because a service task is in progress, the query waits for the task to complete.
isc_service_query() blocks indefinitely, until output is available. This eliminates the need for polling.
You can supply to
isc_service_query() an SPB item specifying a finite duration after which the call to
isc_service_query() must return, even if output from the task is not yet available. Populate the SPB with the SPB version information, followed by the
isc_info_svc_timeout cluster identifier, and a four-byte value specifying the number of seconds for the timeout.
This is the only useful SPB cluster for
isc_service_query() in the current implementation.