Commit Graph

54 Commits

Author SHA1 Message Date
Alvin Moore 3acaa7343e Enabled C++17 for all Windows projects
Set Visual Studio version to 2017 (first version to support C++17)
2019-05-16 17:44:13 -07:00
Alvin Moore 94aed513c7 Switched Windows tools within projects to 2017 2019-05-16 15:05:11 -07:00
mpilman 0713e06efc Started to work on Windows 2019-05-13 14:15:23 -07:00
Austin Seipp 0b263fd856 fdbmonitor: fix some print/scan format warnings
Signed-off-by: Austin Seipp <aseipp@pobox.com>
2019-05-06 13:35:29 -07:00
Andrew Noyes 6207d724f8 Fix all -Wunused-variable warnings 2019-04-15 18:13:00 -07:00
Alvin Moore 52f1ef22e7 Added support for stripping symbols from fdbmonitor 2019-04-05 01:38:07 -07:00
Steve Atherton 09f37cf3d2
Merge pull request #533 from ajbeamon/fix-parent-directory
Fixes to parentDirectory() and abspath()
2019-03-22 23:53:46 -07:00
Stephen Atherton 382a7bdc5f Changed behavior regarding ~ and ~user paths to treat them as unresolvable symbolic links. 2019-03-22 16:21:12 -07:00
Stephen Atherton 524a666290 Added back previous handling of ~ in paths, with the improvement that it only treats ~ as special if it is the first character. 2019-03-22 11:44:46 -07:00
Stephen Atherton 6c42e42334 Fix compiler complaint about ignored return codes being ignored. Added commented call to testPathOps() for convenience. 2019-03-21 18:05:30 -07:00
Stephen Atherton a6b598f236 Missing include. 2019-03-21 17:51:00 -07:00
Stephen Atherton c6d96498ca parentDirectory() is now based on popPath(). Bug fix, abspath() would prepend current working directory even when not resolving symlinks. Added more unit tests. Ported path operation unit tests to fdbmonitor() since the path manipulation function implementations are significantly different. Clarified some comments. The flow project version of abspath() does not allow resolveLinks to be false, for now, because behavior of this on Windows is not well thought out or tested. 2019-03-21 16:56:36 -07:00
Stephen Atherton 644a88e8b4 Updated fdbmonitor to use modified/minimal implementations of new abspath() and parentDirectory() implementations from flow. 2019-03-20 23:18:30 -07:00
Andrew Noyes 5e63efd385 Fix typo in comment
Co-Authored-By: mpilman <markus@pilman.ch>
2019-03-20 12:18:31 -07:00
mpilman a0fe00fa8d Add cmake targets to execute local dev instance 2019-03-20 12:18:31 -07:00
Stephen Atherton 2efb6f4c0d Added cleanPath() which puts a path in a canonical form without .., ., or duplicate separators without using the filesystem or resolving symbolic links. absPath() redefined to use cleanPath() so it will return the same result for a path without symbolic links regardless of whether or not the path actually exists. Redefined parentDirectory() to use absPath() and error on certain inputs. Added comments describing behavior of these functions, and added a unit test which verbosely tests many inputs to them. 2019-03-15 23:54:33 -07:00
A.J. Beamon 809861ee88 Merge branch 'master' into fix-parent-directory
# Conflicts:
#	flow/Platform.cpp
2019-03-15 10:51:12 -07:00
Balachandar Namasivayam 880e8643d1 Fix Windows link errors 2019-03-11 17:49:03 -07:00
mpilman e8624efb3b several minor improvements 2019-03-07 16:49:29 -08:00
mpilman 2537f26de6 First implementaion of more user-friendly cpack
Up unto here this code is only very rudiemantery tested.

This is a firest attempt of making cpack more user-friendly.
The basic idea is to generate a component for package type so
that we can have different paths depending on whether we build
an RPM, a DEB, a TGZ, or a MacOS installer. The cpack package
config file will then chose the correct components to use.

In a later point this should make it possible to build these
with `make packages` and the ugly iteration with calling cmake
between each package would be obsolete. While this solution is
a bit more bloated, it is also much more flexible and it will be
much easier to use.

Another benefit is, that this will get rid of all warnings during
a cpack run
2019-03-07 16:49:29 -08:00
mpilman 4a4af6fb2c Make cmake build fail if old build system was used
This changes makes a cmake build check for an existing
versions.h file in the source directory before it builds
anything else. If it finds it it will fail the build.

This is to prevent confusion when someone tries to use cmake
on a source directory where the old build system was used
before (as this is not supported).
2019-03-06 13:48:18 -08:00
mpilman 9b14aeb156 Tell cmake not to link/install on ide build 2019-02-19 15:16:59 -08:00
mpilman 6da5971e79 Guard all versions.h to not break old WIN32 build 2019-02-08 16:06:00 -08:00
mpilman aeccec0ef8 Fix merge conflicts 2019-02-07 18:09:10 -08:00
mpilman 7a858b902d Most of FDB compiling on Windows with cmake 2019-02-07 15:37:04 -08:00
Andrew Noyes 935f8a92f4 Install fdbmonitor without lib suffix for cmake 2019-01-31 09:06:49 -08:00
Markus Pilman ab37648037
Only link librt on linux fdbmonitor/CMakeLists.txt
Co-Authored-By: atn34 <anoyes34@gmail.com>
2019-01-28 21:44:48 -08:00
Andrew Noyes 8fc88306cf Link librt into fdbmonitor 2019-01-28 17:05:29 -08:00
Andrew Noyes c167ed5457 Don't link flow into fdbmonitor for cmake
It seems that fdbmonitor is not meant to depend on flow, since it
redefines symbols such as `joinPath`
2019-01-24 09:59:38 -08:00
Alex Miller 217fb4e6cb Fix the CMake build.
This change was originally authored by @mpilman as part of #1005, but is
something that can instead be merged quickly and easily.
2019-01-10 14:33:09 -08:00
Bhaskar Muppana 448e654a03 Fix Make build. 2019-01-03 13:14:02 -08:00
mpilman a31df1b0a6 Addressed comments from pull requests
- Moved some larger sections in CMakeLists.txt into separate files
- Fixed an include issue on OS X
- Fixed boost version
- Use PROJECT_VERSION by default instead of using versions.target
2019-01-02 13:32:26 -08:00
Markus Pilman df0f491c29 Some more improvements to the build and preparations for packaging 2018-12-13 15:04:13 -08:00
Markus Pilman c06bb33730 CMake compiles all binaries except for bindings 2018-12-13 14:15:44 -08:00
Evan Tschannen 4e54690005 Merge branch 'release-6.0'
# Conflicts:
#	fdbserver/DataDistribution.actor.cpp
#	fdbserver/MoveKeys.actor.cpp
2018-11-12 20:26:58 -08:00
Stephen Atherton 3bd66217c6 Bug fix, kill_process() modifies the id <-> pid maps so to kill all ids one by one the loop iterator must be advanced before the kill. 2018-11-08 16:21:50 -08:00
Robert Escriva 268093a96d Adjust all includes to be relative to the root.
Remove the use of relative paths.  A header at foo/bar.h could be included by
files under foo/ with "bar.h", but would be included everywhere else as
"foo/bar.h".  Adjust so that every include references such a header with the
latter form.

Signed-off-by: Robert Escriva <rescriva@dropbox.com>
2018-10-19 17:35:33 +00:00
Stephen Atherton 4488ac922c Typo which was missed because of a local make issue causing success without recompile. 2018-10-08 10:51:10 -07:00
Stephen Atherton 409a9b66b6 FDBMonitor will only kill its entire process group on exit if it started its own process group with setsid() (as with daemonize mode), otherwise it will kill its processes individually. 2018-10-08 10:42:11 -07:00
Stephen Atherton e17c04f666 Changed assignments to substr() to resize() for clarity/simplicity. 2018-07-02 14:25:24 -07:00
A.J. Beamon 7378ec85f0 Fixes parentDirectory to work when our path is a child of the root directory. Also works when the path has trailing slashes. 2018-06-26 16:30:47 -07:00
Alec Grieser 752deb07a1
fix fdbmonitor help message output ; fix spelling error Ratekeeper.actor.cpp 2018-05-07 16:19:50 -07:00
Alec Grieser 0bae9880f1 remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py 2018-02-21 10:25:11 -08:00
A.J. Beamon 8891804b1b Add some comments to watch setting in fdbmonitor. 2018-01-04 11:31:01 -08:00
A.J. Beamon c0d37864cf Remove the watch on parent of missing directory if we detect that the directory has just shown up. 2018-01-04 11:30:41 -08:00
A.J. Beamon d52280b628 Merge branch 'release-5.1' into fdbmonitor-deconfigure-on-delete
# Conflicts:
#	fdbmonitor/fdbmonitor.cpp
2018-01-04 11:23:35 -08:00
A.J. Beamon 6f452ae9fa Remove unused variable 2018-01-04 10:30:02 -08:00
A.J. Beamon 9d83501800 fdbmonitor now deconfigures processes when the config file is deleted. Depending on the specified settings, running processes may or may not be killed in that case. If they are not killed, then they are rejoined with the config if it reappears.
In this implementation, the deletion or moving of a parent directory does not trigger an immediate reload of the configuration, but the change will be detected the next time the configuration is reloaded for other reasons.
2017-11-30 13:57:05 -08:00
A.J. Beamon 5e984a366a Updates to fdbmonitor logging so that each line contains a timestamp, severity, logGroup, and process (e.g. fdbmonitor or fdbserver.4689, etc.). Remove usages of perror. 2017-10-31 11:07:06 -07:00
A.J. Beamon c1bc355306 Add support for retrying a process if fork fails. The HUP signal now causes configuration to be reloaded and timeouts to be reset. A little refactoring to make this easier. 2017-10-05 08:23:52 -07:00