summaryrefslogtreecommitdiff
path: root/fd.c
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2012-07-21 11:36:18 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2012-10-02 22:16:08 -0700
commit5cf76eb8f489f6c4d1ba76bf6fe782c3cf45803d (patch)
treece1c874488677c497519778a273cacde299f7990 /fd.c
parentd325cc4930d7e04bd09d54548c6dc58329cfc15b (diff)
downloadxscope-5cf76eb8f489f6c4d1ba76bf6fe782c3cf45803d.tar.gz
Refactor fd closing into CloseFD helper function
All versions now perform same check for XtransConn data to decide whether to use _X11TransClose or regular close, which is needed for being able to read data from pre-recorded files instead of live sockets. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Diffstat (limited to 'fd.c')
-rw-r--r--fd.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/fd.c b/fd.c
index 4ee9a3e..8ac3e89 100644
--- a/fd.c
+++ b/fd.c
@@ -198,20 +198,31 @@ GetXTransConnInfo(FD fd)
/* ************************************************************ */
-static void
-EOFonFD(FD fd)
+void
+CloseFD(FD fd)
{
- enterprocedure("EOFonFD");
- debug(128, (stderr, "EOF on %d\n", fd));
#ifdef USE_XTRANS
- if (FDD[fd].trans_conn)
- _X11TransClose(FDD[fd].trans_conn);
+ XtransConnInfo conn = GetXTransConnInfo(fd);
+
+ if (conn)
+ _X11TransClose(conn);
else
#endif
close(fd);
+
NotUsingFD(fd);
}
+/* ************************************************************ */
+
+static void
+EOFonFD(FD fd)
+{
+ enterprocedure("EOFonFD");
+ debug(128, (stderr, "EOF on %d\n", fd));
+ CloseFD(fd);
+}
+
FD
AcceptConnection(FD ConnectionSocket)
{