24 Commits
Author SHA1 Message Date
Dmytro Shteflyuk fe43dec2bf Fixed C++ cppcheck offenses 2026-02-20 00:16:36 +01:00
zeshuai007 26681fbdb7 THRIFT-5225: Use nullptr instead of NULL
Patch: Zezeng Wang

This closes #2168
2020-06-14 14:17:11 +02:00
cyy 647501693b THRIFT-4776:Modernize c++11 code by clang-tidy (#1732)
* use override
* use make_shared
* use emplace
* use range for
* fix error on MSVC
* replace boost functions with std functions
* fix static analyzer warnings
* check api return value
* initialize member
* check the return value of SSL_peek > 0
* add override
2019-02-08 00:40:59 -05:00
Sebastian Zenker 042580f534 THRIFT-4762: Applied some C++11 refactorings to the runtime library and compiler (#1719)
* make use of C++11 override keyword
* added const specifier to TTransport::getOrigin()
* added more const correctness to the compiler
* make use of auto keyword
* replaced usage of NULL with nullptr
* make use of explicitly-defaulted function definition
* extended changelog
2019-01-29 09:48:12 -05:00
James E. King III f5f430df56 THRIFT-4579: Move up to Ubuntu Bionic for CI builds
make dlang library compatible with openssl-1.1 for Ubuntu Bionic
Requires an upstream deimos update to be compatible.
2018-06-16 19:16:04 +00:00
James E. King, III 07f59971bd THRIFT-4081: appveyor retooling - added mingw64 build as a second job to the CI build process
This closes #1205
2017-03-10 06:18:33 -05:00
James E. King, III 36200904e7 THRIFT-3943: resolve some high severity outstanding defects identified by coverity scan
Clients: C++, Lua
Patch: James E. King, III <jim.king@simplivity.com>

This closes #1109
2016-10-13 22:59:20 +02:00
Antonio Di Monaco 796667b29f THRIFT-3437 Fixed MinGW-w64 build
Client: Build
Patch: Antonio Di Monaco

This closes #771
2016-01-06 04:35:12 +09:00
Konrad Grochowski 16a23a6618 THRIFT-2729: C++ - .clang-format created and applied
Client: C++
Patch: Konrad Grochowski

make style command added
2014-11-18 11:39:10 +01:00
Konrad Grochowski 240120c843 Revert "THRIFT-2729: C++ - .clang-format created and applied"
This reverts commit 74260aa909.
2014-11-18 11:33:31 +01:00
Konrad Grochowski 74260aa909 THRIFT-2729: C++ - .clang-format created and applied
Client: C++
Patch: Konrad Grochowski

make style command added
2014-11-18 10:02:08 +01:00
Roger Meier 09cc5e7728 THRIFT-2316 cpp: TFileTransportTest is to restrictive 2014-01-15 10:13:18 +01:00
Roger Meier ba406d3a02 THRIFT-2089 Compiler ignores duplicate typenames
Patch: Randy Abernethy
2013-07-15 22:41:34 +02:00
Jake Farrell a32ac7a010 Thrift-1718:Incorrect check in TFileTransportTest
Client: cpp
Patch: Diwaker Gupta

Fixes cpp tests



git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1396258 13f79535-47bb-0310-9956-ffa450edef68
2012-10-09 19:59:35 +00:00
Roger Meier 49ff8b123a THRIFT-1552 Include paths for c/c++ should be prefixed with 'thrift/'
To ensure there are no include path collisions the C and C++ header
include paths should include 'thrift' as the root leaf. This will
prevent having to place /usr/include/thrift into the compilers include
header search path, which might otherwise result in the compiler
accidentally picking up headers that it shouldn't.

e.g. #include <foo/bar.h> should be #include <thrift/foo/bar.h>

Change-Id: I48f2b0f549bda0fc81e85506ac857adc800b98a1

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1325674 13f79535-47bb-0310-9956-ffa450edef68
2012-04-13 09:12:31 +00:00
Roger Meier 2fa9c31e06 THRIFT-1320 Consistency of configure generated config.h
Patch: Alexandre Parenteau

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1165400 13f79535-47bb-0310-9956-ffa450edef68
2011-09-05 19:15:53 +00:00
Roger Meier 1ebeffb0d8 THRIFT-1197 TFileTransportTest.cpp fails on slower machines
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1132712 13f79535-47bb-0310-9956-ffa450edef68
2011-06-06 18:00:03 +00:00
Roger Meier 3b771a10f1 THRIFT-916 compile with -Wall -Wextra without warning on Debian Lenny
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1036250 13f79535-47bb-0310-9956-ffa450edef68
2010-11-17 22:11:26 +00:00
Christian Lavoie 01c5cebfdd THRIFT-916: Fix warnings in C++ when compiling with -Wall.
git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1031222 13f79535-47bb-0310-9956-ffa450edef68
2010-11-04 20:35:15 +00:00
Roger Meier 085a3e7b60 THRIFT-926 Miscellaneous C++ improvements
changing single destructor call time limit from 500us to 1000us
build does not fail on busy machines



git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1006030 13f79535-47bb-0310-9956-ffa450edef68
2010-10-08 21:23:35 +00:00
David Reiss 109693c82a THRIFT-929. cpp: Convert tests to use boost 1.37
The boost test framework has changed significantly from boost 1.34 to
1.37.  Quite a few new features have been added, and some annoying bugs
have been fixed.

This change now builds the thrift tests against boost 1.37, and updates
them to use some of the newer features.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005162 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:42 +00:00
David Reiss 4f9efdb460 THRIFT-926. cpp: Fix bugs in TFileTransport::flush()
Previously flush() had race conditions that could cause it to return
before all data had actually been flushed to disk.  Now the writer
makes sure both buffer queues have been flushed when forceFlush_ is set.

Also, flush() did not wake up the writer thread, so it normally had to
wait for the writer thread to wake up on its own time.  (By default,
this could take up to 3 seconds.)

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005156 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:33 +00:00
David Reiss 4199377a7c THRIFT-926. cpp: TFileTransportTest timing slightly more lenient
Several of the TFileTransportTest tests check wall clock time to make
sure the writer thread processes operations quickly enough, and isn't
hanging.  However, this can easily result in false failures if we don't
get enough processor time.  This commit makes a few changes to reduce
the number of these failures.

- No longer fail if a single destructor call takes more than 500us.
  We only require 90% of the calls to complete in 500us.  No call may
  take more than 100ms, though.  With this change, the test passes most
  of the time now, even while an "fbmake opt" task is running in
  parallel.

- In the flush_max_us tests, make sure the writer thread is started
  before we start recording timing.  Otherwise, creating the thread
  could take long enough to throw off the numbers for the first fsync()
  call.

Also tested with the pthread_cond_signal() in the TFileTransport
destructor commented out, to make sure the test still fails properly
when the destructor takes too long.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005155 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:31 +00:00
David Reiss 709b69f14c THRIFT-926. cpp: Fix destructor behavior of TFileTransport
Set closing_ to true before we wake up the writer thread in the
destructor.  This way the writer thread flushes the data and exits when
it is woken up.

Previously the writer thread could end up going through 2 full timeout
cycles before exiting.  The writer thread could wake up, notice it has
nothing to do since closing_ is not set, and immediately go back to
sleep.  The destructor would then proceed to call flush(), which would
wait for the writer thread to wake up (1 full time out) and clear the
forceFlush_ flag.  After flush returns, the destructor would set
closing_.  It could take the writer thread another full timeout to wake
up again and process this flag.

There were also some points where the worker threads would detect the
closing_ state in their loops and automatically close the file, but did
not zero out the file descriptor, then the destructer attempted to close
the same file.  Fix by simply zeroing out the fd_ at these points.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005154 13f79535-47bb-0310-9956-ffa450edef68
2010-10-06 17:10:30 +00:00