aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xfree86/os-support/linux
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-05-18 14:38:14 +0200
committermarha <marha@users.sourceforge.net>2014-05-18 14:38:14 +0200
commit55cf29d7f748b814a2b8eb016fbf15635d56aa53 (patch)
tree04d45a3c638e7397354fcd1df02d969c8ece058f /xorg-server/hw/xfree86/os-support/linux
parentae06feae7876db47ff0e1fde40cf4a324a412037 (diff)
downloadvcxsrv-55cf29d7f748b814a2b8eb016fbf15635d56aa53.tar.gz
vcxsrv-55cf29d7f748b814a2b8eb016fbf15635d56aa53.tar.bz2
vcxsrv-55cf29d7f748b814a2b8eb016fbf15635d56aa53.zip
plink fontconfig mesa xserver xkeyboard-config git update 18 May 2014
xserver commit 01e18af17f8dc91451fbd0902049045afd1cea7e xkeyboard-config commit 2bf80b0d9b36fd56acf1f196fb781f045351efaf fontconfig commit 58acd993cb13b58c61633174071ef42da3dcac85 mesa commit 5646319f25c7880b3706bb7590e24c84fd8de0fc plink revision 10192
Diffstat (limited to 'xorg-server/hw/xfree86/os-support/linux')
-rw-r--r--xorg-server/hw/xfree86/os-support/linux/lnx_platform.c2
-rw-r--r--xorg-server/hw/xfree86/os-support/linux/systemd-logind.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/xorg-server/hw/xfree86/os-support/linux/lnx_platform.c b/xorg-server/hw/xfree86/os-support/linux/lnx_platform.c
index dbd7aa0aa..308275ab4 100644
--- a/xorg-server/hw/xfree86/os-support/linux/lnx_platform.c
+++ b/xorg-server/hw/xfree86/os-support/linux/lnx_platform.c
@@ -37,7 +37,7 @@ get_drm_info(struct OdevAttributes *attribs, char *path, int delayed_index)
if (paused) {
LogMessage(X_ERROR,
"Error systemd-logind returned paused fd for drm node\n");
- systemd_logind_release_fd(major, minor);
+ systemd_logind_release_fd(major, minor, -1);
return FALSE;
}
config_odev_add_int_attribute(attribs, ODEV_ATTRIB_FD, fd);
diff --git a/xorg-server/hw/xfree86/os-support/linux/systemd-logind.c b/xorg-server/hw/xfree86/os-support/linux/systemd-logind.c
index ed670a88c..73a8d55bf 100644
--- a/xorg-server/hw/xfree86/os-support/linux/systemd-logind.c
+++ b/xorg-server/hw/xfree86/os-support/linux/systemd-logind.c
@@ -162,7 +162,7 @@ cleanup:
}
void
-systemd_logind_release_fd(int _major, int _minor)
+systemd_logind_release_fd(int _major, int _minor, int fd)
{
struct systemd_logind_info *info = &logind_info;
InputInfoPtr pInfo;
@@ -174,7 +174,7 @@ systemd_logind_release_fd(int _major, int _minor)
int matches = 0;
if (!info->session || major == 0)
- return;
+ goto close;
/* Only release the fd if there is only 1 InputInfo left for this major
* and minor, otherwise other InputInfo's are still referencing the fd. */
@@ -218,6 +218,9 @@ cleanup:
if (reply)
dbus_message_unref(reply);
dbus_error_free(&error);
+close:
+ if (fd != -1)
+ close(fd);
}
int