aboutsummaryrefslogtreecommitdiff
path: root/src/compat.h
AgeCommit message (Collapse)Author
2018-08-23Make IS_TRIVIALLY_CONSTRUCTIBLE consistent on GCC < 5Ben Woosley
std::is_trivially_constructible<T> is equivalent to std::is_trivially_default_constructible<T> std::has_trivial_default_constructor<T> is the GCC < 5 name for std::is_trivially_default_constructible<T> std::is_trivial was also used when compiling with clang, due to clang's use of __GNUC__. Test __clang__ to target the intended implementations.
2018-07-27Update copyright headers to 2018DrahtBot
2018-04-16net: Minor accumulated cleanupsThomas Snider
2018-02-27Add new prevector benchmarks.Evan Klitzke
This prepares for a series of two additional commits which optimize prevector performance.
2018-01-12Trivial: Fix #include sys/fcntl.h to just fcntl.h (without sys/)Jan Sarenik
http://pubs.opengroup.org/onlinepubs/009695399/functions/fcntl.html http://man7.org/linux/man-pages/man2/fcntl.2.html
2018-01-03Increment MIT Licence copyright header year on files modified in 2017Akira Takizawa
2017-12-13Merge #11558: Minimal code changes to allow msvc compilationWladimir J. van der Laan
fbf327b Minimal code changes to allow msvc compilation. (Aaron Clauson) Pull request description: These changes are required to allow the Bitcoin source to build with Microsoft's C++ compiler (#11562 is also required). I looked around for a better place for the typedef of ssize_t which is in random.h. The best candidate looks like src/compat.h but I figured including that header in random.h is a bigger change than the typedef. Note that the same typedef is in at least two other places including the OpenSSL and Berkeley DB headers so some of the Bitcoin code already picks it up. Tree-SHA512: aa6cc6283015e08ab074641f9abdc116c4dc58574dc90f75e7a5af4cc82946d3052370e5cbe855fb6180c00f8dc66997d3724ff0412e4b7417e51b6602154825
2017-11-16scripted-diff: Replace #include "" with #include <> (ryanofsky)MeshCollider
-BEGIN VERIFY SCRIPT- for f in \ src/*.cpp \ src/*.h \ src/bench/*.cpp \ src/bench/*.h \ src/compat/*.cpp \ src/compat/*.h \ src/consensus/*.cpp \ src/consensus/*.h \ src/crypto/*.cpp \ src/crypto/*.h \ src/crypto/ctaes/*.h \ src/policy/*.cpp \ src/policy/*.h \ src/primitives/*.cpp \ src/primitives/*.h \ src/qt/*.cpp \ src/qt/*.h \ src/qt/test/*.cpp \ src/qt/test/*.h \ src/rpc/*.cpp \ src/rpc/*.h \ src/script/*.cpp \ src/script/*.h \ src/support/*.cpp \ src/support/*.h \ src/support/allocators/*.h \ src/test/*.cpp \ src/test/*.h \ src/wallet/*.cpp \ src/wallet/*.h \ src/wallet/test/*.cpp \ src/wallet/test/*.h \ src/zmq/*.cpp \ src/zmq/*.h do base=${f%/*}/ relbase=${base#src/} sed -i "s:#include \"\(.*\)\"\(.*\):if test -e \$base'\\1'; then echo \"#include <\"\$relbase\"\\1>\\2\"; else echo \"#include <\\1>\\2\"; fi:e" $f done -END VERIFY SCRIPT-
2017-11-10Minimal code changes to allow msvc compilation.Aaron Clauson
2017-07-22Move CloseSocket out of SetSocketNonBlocking and pass SOCKET by const ↵Dag Robole
reference in SetSocket* functions
2017-03-05compat: use `unsigned int` instead of `u_int`Wladimir J. van der Laan
`u_int` is not available on some platforms (not sure what standard it's supposed to be part of), we don't use it anywhere else, and it doesn't hurt to simply write `unsigned int` out here.
2017-03-05build: cleanup: define MSG_DONTWAIT/MSG_NO_SIGNAL locallyWladimir J. van der Laan
Define MSG_DONTWAIT and MSG_NO_SIGNAL in the implementation files that use them (`net.cpp` and `netbase.cpp`), instead of compat.h which is included all over the place. This avoids putting them in the global namespace, as defining them as 0 is a hack that works for our specific usage, but it is not a general solution. Also makes sure they are defined only once so the `!defined(MSG_x)` guard can go.
2017-03-05build: Probe MSG_DONTWAIT in the same way as MSG_NOSIGNALWladimir J. van der Laan
Instead of the WIN32-specific workaround, detect lack of `MSG_DONTWAIT` in the build system. This allows other platforms without `MSG_DONTWAIT` to work too.
2016-12-31Increment MIT Licence copyright header year on files modified in 2016isle2983
Edited via: $ contrib/devtools/copyright_header.py update .
2016-11-29Include select.h when WIN32 is not definedIvo van der Sangen
2016-05-05don't run ThreadMessageHandler at lowered priorityKaz Wesley
There's no clear reason ThreadMessageHandler should be low priority. Fixes #8010 (priority inversion).
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-10-22Set TCP_NODELAY on P2P sockets.Gregory Maxwell
Nagle appears to be a significant contributor to latency now that the static sleeps are gone. Most of our messages are relatively large compared to IP + TCP so I do not expect this to create enormous overhead. This may also reduce traffic burstyness somewhat.
2015-07-20Fix warning introduced by #6412Wladimir J. van der Laan
SOCKET are defined as unsigned integers, thus always >=0.
2015-07-10Test whether created sockets are select()ablePieter Wuille
2014-12-19Added "Core" to copyright headerssandakersmann
Github-Pull: #5494 Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-16Remove references to X11 licenceMichael Ford
2014-11-26Include missing config/bitcoin-config.h.Pavel Janík
2014-11-24Check for strnlen and provide it if it is not found.Pavel Janík
2014-11-03Fix all header definesPavel Janík
2014-08-26Move `S_I*` constants and `MSG_NOSIGNAL` to compat.hWladimir J. van der Laan
2014-08-26Move SetThreadPriority implementation to util.cpp instead of the headerWladimir J. van der Laan
Put the THREAD_* and PRIO_ constants in compat.h.
2014-08-08small net cleanupPhilip Kaufmann
- add comment for disabling sigpipe - add closing comment in compat.h - remove redundant check in net.h
2014-07-17Convert closesocket 'compat wrapper' to function in netbaseWladimir J. van der Laan
Simpler alternative to #4348. The current setup with closesocket() is strange. It poses as a compatibility wrapper but adds functionality. Rename it and make it a documented utility function in netbase. Code movement only, zero effect on the functionality.
2014-05-02reorder includes to compile on OpenBSDFabian Raetz
From getifaddr(3) manual: "If both <net/if.h> and <ifaddrs.h> are being included, <net/if.h> must be included before <ifaddrs.h>" http://www.openbsd.org/cgi-bin/man.cgi?query=getifaddrs&apropos=0&sektion=0&manpath=OpenBSD+Current&arch=i386&format=html
2013-11-29Merge pull request #3309Wladimir J. van der Laan
9ac5a01 Move types.h include before ifaddres.h for u_int declaration (Robert Backhaus)
2013-11-27prevent Windows redefinition warning cause by compat.hPhilip Kaufmann
2013-11-22Move types.h include before ifaddres.h for u_int declarationRobert Backhaus
2013-11-10Cleanup code using forward declarations.Brandon Dahler
Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
2013-10-20Bump Year Number to 2013super3
2013-10-11prevent compiler redefinition warningsPhilip Kaufmann
- I observed a massive amount of redefinition warnings after #3071, which are silenced by this patch - uses the same style as we do in other places, where we define _WIN32_WINNT
2013-09-05autotools: switch to autotools buildsystemCory Fields
2013-07-24cleanup compat.h Windows stuffPhilip Kaufmann
- remove an unneded include for mswsock.h as we use winsock2.h anyway - move typedef u_int SOCKET; into the #ifndef WIN32 part - remove typedef int socklen_t; as this is defined in ws2tcpip.h
2013-04-26Allow select()ing up to 1024 file descriptors on WindowsPieter Wuille
2012-05-18Update License in File HeadersFordy
I originally created a pull to replace the "COPYING" in crypter.cpp and crypter.h, but it turned out that COPYING was actually the correct file.
2012-04-25We should include netinet/in.h to use sockaddr_in (POSIX.1-2001)Timothy Redaelli
2012-04-17Remove headers.hPieter Wuille
2012-02-07Update all copyrights to 2012Gavin Andresen
2012-01-06Network stack refactorPieter Wuille
This introduces CNetAddr and CService, respectively wrapping an (IPv6) IP address and an IP+port combination. This functionality used to be part of CAddress, which also contains network flags and connection attempt information. These extra fields are however not always necessary. These classes, along with logic for creating connections and doing name lookups, are moved to netbase.{h,cpp}, which does not depend on headers.h. Furthermore, CNetAddr is mostly IPv6-ready, though IPv6 functionality is not yet enabled for the application itself.