mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-03 00:10:52 +02:00
SmartOS FD_ZERO is implemented in a way that requires an external declaration of memcpy. We can not simply include cstring in the existing file because sanity_test_memcpy is attempting to replace memcpy, but we can do so here, now that the fdelt test is split out.
27 lines
741 B
C++
27 lines
741 B
C++
// Copyright (c) 2009-2019 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#if defined(HAVE_CONFIG_H)
|
|
#include <config/bitcoin-config.h>
|
|
#endif
|
|
|
|
#if defined(HAVE_SYS_SELECT_H)
|
|
#ifdef HAVE_CSTRING_DEPENDENT_FD_ZERO
|
|
#include <cstring>
|
|
#endif
|
|
#include <sys/select.h>
|
|
|
|
// trigger: Call FD_SET to trigger __fdelt_chk. FORTIFY_SOURCE must be defined
|
|
// as >0 and optimizations must be set to at least -O2.
|
|
// test: Add a file descriptor to an empty fd_set. Verify that it has been
|
|
// correctly added.
|
|
bool sanity_test_fdelt()
|
|
{
|
|
fd_set fds;
|
|
FD_ZERO(&fds);
|
|
FD_SET(0, &fds);
|
|
return FD_ISSET(0, &fds);
|
|
}
|
|
#endif
|