diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2012-07-21 11:36:18 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2012-10-02 22:16:08 -0700 |
commit | 5cf76eb8f489f6c4d1ba76bf6fe782c3cf45803d (patch) | |
tree | ce1c874488677c497519778a273cacde299f7990 /fd.c | |
parent | d325cc4930d7e04bd09d54548c6dc58329cfc15b (diff) | |
download | xscope-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.c | 23 |
1 files changed, 17 insertions, 6 deletions
@@ -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) { |