Beispiel #1
0
static device_status_t tilib_poll(device_t dev_base)
{
	struct tilib_device *dev = (struct tilib_device *)dev_base;

        ctrlc_reset();
        if ((usleep(50000) < 0) || ctrlc_check())
                return DEVICE_STATUS_INTR;

	if (event_fetch(dev) & MID_HALT_ANY)
		return DEVICE_STATUS_HALTED;

	return DEVICE_STATUS_RUNNING;
}
Beispiel #2
0
static int sockets_wait(DWORD timeout)
{
	DWORD r;

	error_save = WSAGetLastError();
	if (ctrlc_check())
		error_save = ERROR_OPERATION_ABORTED;
	if (error_save != WSAEWOULDBLOCK)
		return -1;

	r = WaitForSingleObject(ctrlc_win32_event(), timeout);

	if (r == WAIT_TIMEOUT) {
		error_save = WAIT_TIMEOUT;
		return -1;
	}

	return 0;
}