View | Details | Raw Unified | Return to bug 197858
Collapse All | Expand All

(-)xorg-server-1.1.99.901/hw/xfree86/common/xf86Events.c (-15 / +62 lines)
Lines 1636-1643 xf86VTSwitch() Link Here
1636
1636
1637
/* Input handler registration */
1637
/* Input handler registration */
1638
1638
1639
_X_EXPORT pointer
1639
1640
xf86AddInputHandler(int fd, InputHandlerProc proc, pointer data)
1640
static pointer
1641
addInputHandler(int fd, InputHandlerProc proc, pointer data)
1641
{
1642
{
1642
    IHPtr ih;
1643
    IHPtr ih;
1643
1644
Lines 1656-1680 xf86AddInputHandler(int fd, InputHandler Link Here
1656
    ih->next = InputHandlers;
1657
    ih->next = InputHandlers;
1657
    InputHandlers = ih;
1658
    InputHandlers = ih;
1658
1659
1659
    AddEnabledDevice(fd);
1660
    return ih;
1661
}
1660
1662
1663
_X_EXPORT pointer
1664
xf86AddInputHandler(int fd, InputHandlerProc proc, pointer data)
1665
{
1666
    IHPtr ih = addInputHandler(fd, proc, data);
1667
1668
    if (ih)
1669
        AddEnabledDevice(fd);
1661
    return ih;
1670
    return ih;
1662
}
1671
}
1663
1672
1664
_X_EXPORT int
1673
_X_EXPORT pointer
1665
xf86RemoveInputHandler(pointer handler)
1674
xf86AddGeneralHandler(int fd, InputHandlerProc proc, pointer data)
1666
{
1675
{
1667
    IHPtr ih, p;
1676
    IHPtr ih = addInputHandler(fd, proc, data);
1668
    int fd;
1669
    
1670
    if (!handler)
1671
	return -1;
1672
1677
1673
    ih = handler;
1678
    if (ih)
1674
    fd = ih->fd;
1679
        AddGeneralSocket(fd);
1675
    
1680
    return ih;
1676
    if (ih->fd >= 0)
1681
}
1677
	RemoveEnabledDevice(ih->fd);
1682
1683
static void
1684
removeInputHandler(IHPtr ih)
1685
{
1686
    IHPtr p;
1678
1687
1679
    if (ih == InputHandlers)
1688
    if (ih == InputHandlers)
1680
	InputHandlers = ih->next;
1689
	InputHandlers = ih->next;
Lines 1686-1694 xf86RemoveInputHandler(pointer handler) Link Here
1686
	    p->next = ih->next;
1695
	    p->next = ih->next;
1687
    }
1696
    }
1688
    xfree(ih);
1697
    xfree(ih);
1698
}
1699
1700
_X_EXPORT int
1701
xf86RemoveInputHandler(pointer handler)
1702
{
1703
    IHPtr ih;
1704
    int fd;
1705
1706
    if (!handler)
1707
	return -1;
1708
1709
    ih = handler;
1710
    fd = ih->fd;
1711
1712
    if (ih->fd >= 0)
1713
	RemoveEnabledDevice(ih->fd);
1714
    removeInputHandler(ih);
1715
1716
    return fd;
1717
}
1718
1719
_X_EXPORT int
1720
xf86RemoveGeneralHandler(pointer handler)
1721
{
1722
    IHPtr ih;
1723
    int fd;
1724
1725
    if (!handler)
1726
	return -1;
1727
1728
    ih = handler;
1729
    fd = ih->fd;
1730
1731
    if (ih->fd >= 0)
1732
	RemoveGeneralSocket(ih->fd);
1733
    removeInputHandler(ih);
1734
1689
    return fd;
1735
    return fd;
1690
}
1736
}
1691
1737
1738
1692
_X_EXPORT void
1739
_X_EXPORT void
1693
xf86DisableInputHandler(pointer handler)
1740
xf86DisableInputHandler(pointer handler)
1694
{
1741
{
(-)xorg-server-1.1.99.901/hw/xfree86/os-support/linux/lnx_acpi.c (-1 / +1 lines)
Lines 163-169 lnxACPIOpen(void) Link Here
163
163
164
    xf86PMGetEventFromOs = lnxACPIGetEventFromOs;
164
    xf86PMGetEventFromOs = lnxACPIGetEventFromOs;
165
    xf86PMConfirmEventToOs = lnxACPIConfirmEventToOs;
165
    xf86PMConfirmEventToOs = lnxACPIConfirmEventToOs;
166
    ACPIihPtr = xf86AddInputHandler(fd,xf86HandlePMEvents,NULL);
166
    ACPIihPtr = xf86AddGeneralHandler(fd,xf86HandlePMEvents,NULL);
167
    xf86MsgVerb(X_INFO,3,"Open ACPI successful (%s)\n", ACPI_SOCKET);
167
    xf86MsgVerb(X_INFO,3,"Open ACPI successful (%s)\n", ACPI_SOCKET);
168
168
169
    return lnxCloseACPI;
169
    return lnxCloseACPI;
(-)xorg-server-1.1.99.901/hw/xfree86/os-support/linux/lnx_apm.c (-1 / +1 lines)
Lines 180-186 lnxAPMOpen(void) Link Here
180
	    close(pfd);
180
	    close(pfd);
181
	xf86PMGetEventFromOs = lnxPMGetEventFromOs;
181
	xf86PMGetEventFromOs = lnxPMGetEventFromOs;
182
	xf86PMConfirmEventToOs = lnxPMConfirmEventToOs;
182
	xf86PMConfirmEventToOs = lnxPMConfirmEventToOs;
183
	APMihPtr = xf86AddInputHandler(fd,xf86HandlePMEvents,NULL);
183
	APMihPtr = xf86AddGeneralHandler(fd,xf86HandlePMEvents,NULL);
184
	xf86MsgVerb(X_INFO,3,"Open APM successful\n");
184
	xf86MsgVerb(X_INFO,3,"Open APM successful\n");
185
	return lnxCloseAPM;
185
	return lnxCloseAPM;
186
    }
186
    }
(-)xorg-server-1.1.99.901/os/connection.c (-4 / +16 lines)
Lines 1014-1036 CloseDownConnection(ClientPtr client) Link Here
1014
}
1014
}
1015
1015
1016
_X_EXPORT void
1016
_X_EXPORT void
1017
AddEnabledDevice(int fd)
1017
AddGeneralSocket(int fd)
1018
{
1018
{
1019
    FD_SET(fd, &EnabledDevices);
1020
    FD_SET(fd, &AllSockets);
1019
    FD_SET(fd, &AllSockets);
1021
    if (GrabInProgress)
1020
    if (GrabInProgress)
1022
	FD_SET(fd, &SavedAllSockets);
1021
	FD_SET(fd, &SavedAllSockets);
1023
}
1022
}
1024
1023
1025
_X_EXPORT void
1024
_X_EXPORT void
1026
RemoveEnabledDevice(int fd)
1025
AddEnabledDevice(int fd)
1026
{
1027
    FD_SET(fd, &EnabledDevices);
1028
    AddGeneralSocket(fd);
1029
}
1030
1031
_X_EXPORT void
1032
RemoveGeneralSocket(int fd)
1027
{
1033
{
1028
    FD_CLR(fd, &EnabledDevices);
1029
    FD_CLR(fd, &AllSockets);
1034
    FD_CLR(fd, &AllSockets);
1030
    if (GrabInProgress)
1035
    if (GrabInProgress)
1031
	FD_CLR(fd, &SavedAllSockets);
1036
	FD_CLR(fd, &SavedAllSockets);
1032
}
1037
}
1033
1038
1039
_X_EXPORT void
1040
RemoveEnabledDevice(int fd)
1041
{
1042
    FD_CLR(fd, &EnabledDevices);
1043
    RemoveGeneralSocket(fd);
1044
}
1045
1034
/*****************
1046
/*****************
1035
 * OnlyListenToOneClient:
1047
 * OnlyListenToOneClient:
1036
 *    Only accept requests from  one client.  Continue to handle new
1048
 *    Only accept requests from  one client.  Continue to handle new

Return to bug 197858