+SR_PRIV int beaglelogic_tcp_drain(struct dev_context *devc)
+{
+ char *buf = g_malloc(1024);
+ fd_set rset;
+ int ret, len = 0;
+ struct timeval tv;
+
+ FD_ZERO(&rset);
+ FD_SET(devc->socket, &rset);
+
+ /* 25ms timeout */
+ tv.tv_sec = 0;
+ tv.tv_usec = 25 * 1000;
+
+ do {
+ ret = select(devc->socket + 1, &rset, NULL, NULL, &tv);
+ if (ret > 0)
+ len += beaglelogic_tcp_read_data(devc, buf, 1024);
+ } while (ret > 0);
+
+ sr_spew("Drained %d bytes of data.", len);
+
+ g_free(buf);
+
+ return SR_OK;
+}
+