From 06cc9596e8c8e431dcdfe2ce3f494e1431e95d6f Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 13 Apr 2020 12:42:59 -0600 Subject: Move gdb_select.h to gdbsupport/ This moves gdb_select.h to gdbsupport/, so it can be used by other code there. gdb/ChangeLog 2020-04-13 Tom Tromey * gdb_select.h: Move to ../gdbsupport/. * event-loop.c: Update include path. * top.c: Update include path. * ser-base.c: Update include path. * ui-file.c: Update include path. * ser-tcp.c: Update include path. * guile/scm-ports.c: Update include path. * posix-hdep.c: Update include path. * ser-unix.c: Update include path. * gdb_usleep.c: Update include path. * mingw-hdep.c: Update include path. * inflow.c: Update include path. * infrun.c: Update include path. * event-top.c: Update include path. gdbsupport/ChangeLog 2020-04-13 Tom Tromey * gdb_select.h: Move from ../gdb/. --- gdbsupport/ChangeLog | 4 ++++ gdbsupport/gdb_select.h | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 gdbsupport/gdb_select.h (limited to 'gdbsupport') diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog index 0d0ea87..880a6ae 100644 --- a/gdbsupport/ChangeLog +++ b/gdbsupport/ChangeLog @@ -1,5 +1,9 @@ 2020-04-13 Tom Tromey + * gdb_select.h: Move from ../gdb/. + +2020-04-13 Tom Tromey + * config.in, configure: Rebuild. * common.m4 (GDB_AC_COMMON): Check for poll.h, sys/poll.h, sys/select.h, and poll. diff --git a/gdbsupport/gdb_select.h b/gdbsupport/gdb_select.h new file mode 100644 index 0000000..69021ac --- /dev/null +++ b/gdbsupport/gdb_select.h @@ -0,0 +1,51 @@ +/* Slightly more portable version of . + + Copyright (C) 2006-2020 Free Software Foundation, Inc. + + This file is part of GDB. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +#if !defined(GDB_SELECT_H) +#define GDB_SELECT_H + +#ifdef HAVE_SYS_SELECT_H +#include +#else +#include "gdbsupport/gdb_sys_time.h" +#endif + +#ifdef USE_WIN32API +#include +#endif + +extern int gdb_select (int n, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, struct timeval *timeout); + +/* Convenience wrapper around gdb_select that returns -1/EINTR if + set_quit_flag is set, either on entry or from a signal handler or + from a different thread while select is blocked. The quit flag is + not cleared on exit -- the caller is responsible to check it with + check_quit_flag or QUIT. + + Note this does NOT return -1/EINTR if any signal handler other than + SIGINT runs, nor if the current SIGINT handler does not call + set_quit_flag. */ +extern int interruptible_select (int n, + fd_set *readfds, + fd_set *writefds, + fd_set *exceptfds, + struct timeval *timeout); + +#endif /* !defined(GDB_SELECT_H) */ -- cgit v1.1