gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdbsupport / gdb_select.h
CommitLineData
0ea3f30e
DJ
1/* Slightly more portable version of <sys/select.h>.
2
b811d2c2 3 Copyright (C) 2006-2020 Free Software Foundation, Inc.
0ea3f30e
DJ
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
a9762ec7 9 the Free Software Foundation; either version 3 of the License, or
0ea3f30e
DJ
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
a9762ec7 18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
0ea3f30e
DJ
19
20#if !defined(GDB_SELECT_H)
21#define GDB_SELECT_H
22
23#ifdef HAVE_SYS_SELECT_H
24#include <sys/select.h>
6eb7ee03 25#else
268a13a5 26#include "gdbsupport/gdb_sys_time.h"
0ea3f30e
DJ
27#endif
28
29#ifdef USE_WIN32API
30#include <winsock2.h>
31#endif
32
33extern int gdb_select (int n, fd_set *readfds, fd_set *writefds,
34 fd_set *exceptfds, struct timeval *timeout);
35
f0881b37
PA
36/* Convenience wrapper around gdb_select that returns -1/EINTR if
37 set_quit_flag is set, either on entry or from a signal handler or
38 from a different thread while select is blocked. The quit flag is
39 not cleared on exit -- the caller is responsible to check it with
40 check_quit_flag or QUIT.
41
42 Note this does NOT return -1/EINTR if any signal handler other than
43 SIGINT runs, nor if the current SIGINT handler does not call
44 set_quit_flag. */
45extern int interruptible_select (int n,
46 fd_set *readfds,
47 fd_set *writefds,
48 fd_set *exceptfds,
49 struct timeval *timeout);
50
0ea3f30e 51#endif /* !defined(GDB_SELECT_H) */
This page took 1.090552 seconds and 4 git commands to generate.