/* * xf86RemoveEnabledDevice -- * */ void xf86RemoveEnabledDevice(InputInfoPtr pInfo) { if (!xf86RemoveSIGIOHandler (pInfo->fd)) { RemoveEnabledDevice(pInfo->fd); } }
/* returns error */ static int rdpup_send(char* data, int len) { int sent; DEBUG_OUT_UP(("rdpup_send - sending %d bytes\n", len)); if (g_sck_closed) { return 1; } while (len > 0) { sent = g_tcp_send(g_sck, data, len, 0); if (sent == -1) { if (g_tcp_last_error_would_block(g_sck)) { g_sleep(1); } else { RemoveEnabledDevice(g_sck); g_connected = 0; g_tcp_close(g_sck); g_sck = 0; g_sck_closed = 1; return 1; } } else if (sent == 0) { RemoveEnabledDevice(g_sck); g_connected = 0; g_tcp_close(g_sck); g_sck = 0; g_sck_closed = 1; return 1; } else { data += sent; len -= sent; } } return 0; }
static void httpCloseSock() { close(httpSock); RemoveEnabledDevice(httpSock); httpSock = -1; buf_filled = 0; }
/* returns error */ static int rdpup_recv(char* data, int len) { int rcvd; if (g_sck_closed) { return 1; } while (len > 0) { rcvd = g_tcp_recv(g_sck, data, len, 0); if (rcvd == -1) { if (g_tcp_last_error_would_block(g_sck)) { g_sleep(1); } else { RemoveEnabledDevice(g_sck); g_connected = 0; g_tcp_close(g_sck); g_sck = 0; g_sck_closed = 1; return 1; } } else if (rcvd == 0) { RemoveEnabledDevice(g_sck); g_connected = 0; g_tcp_close(g_sck); g_sck = 0; g_sck_closed = 1; return 1; } else { data += rcvd; len -= rcvd; } } return 0; }
void rfbCloseSock(int sock) { close(sock); RemoveEnabledDevice(sock); FD_CLR(sock, &allFds); if (sock == inetdSock) GiveUp(0); }
void LinuxApmClose(void) { if (LinuxApmFd >= 0) { RemoveBlockAndWakeupHandlers (LinuxApmBlock, LinuxApmWakeup, 0); RemoveEnabledDevice (LinuxApmFd); close (LinuxApmFd); LinuxApmFd = -1; } }
void xf86DisableInputHandler(pointer handler) { IHPtr ih; if (!handler) return; ih = handler; ih->enabled = FALSE; if (ih->fd >= 0) RemoveEnabledDevice(ih->fd); }
static void LinuxDisable(void) { ioctl(LinuxConsoleFd, KDSETMODE, KD_TEXT); /* Back to text mode ... */ if (kdSwitchPending) { kdSwitchPending = FALSE; ioctl(LinuxConsoleFd, VT_RELDISP, 1); } enabled = FALSE; if (LinuxApmFd >= 0) { RemoveBlockAndWakeupHandlers(LinuxApmBlock, LinuxApmWakeup, 0); RemoveEnabledDevice(LinuxApmFd); close(LinuxApmFd); LinuxApmFd = -1; } }
int xf86RemoveInputHandler(pointer handler) { IHPtr ih; int fd; if (!handler) return -1; ih = handler; fd = ih->fd; if (ih->fd >= 0) RemoveEnabledDevice(ih->fd); removeInputHandler(ih); return fd; }
void rfbCloseClient(rfbClientPtr cl) { int sock = cl->sock; #if USETLS if (cl->sslctx) { shutdown(sock, SHUT_RDWR); rfbssl_destroy(cl); } #endif close(sock); RemoveEnabledDevice(sock); FD_CLR(sock, &allFds); rfbClientConnectionGone(cl); if (sock == inetdSock) GiveUp(0); }
static void KdRemoveFd (int fd) { struct sigaction act; int flags; kdnFds--; RemoveEnabledDevice (fd); flags = fcntl (fd, F_GETFL); flags &= ~(FASYNC|NOBLOCK); fcntl (fd, F_SETFL, flags); if (kdnFds == 0) { memset (&act, '\0', sizeof act); act.sa_handler = SIG_IGN; sigemptyset (&act.sa_mask); sigaction (SIGIO, &act, 0); } }