rocksdb/port
Dmitri Smirnov 0a4cdde50a Windows thread
Summary:
introduce new methods into a public threadpool interface,
- allow submission of std::functions as they allow greater flexibility.
- add Joining methods to the implementation to join scheduled and submitted jobs with
  an option to cancel jobs that did not start executing.
- Remove ugly `#ifdefs` between pthread and std implementation, make it uniform.
- introduce pimpl for a drop in replacement of the implementation
- Introduce rocksdb::port::Thread typedef which is a replacement for std::thread.  On Posix Thread defaults as before std::thread.
- Implement WindowsThread that allocates memory in a more controllable manner than windows std::thread with a replaceable implementation.
- should be no functionality changes.
Closes https://github.com/facebook/rocksdb/pull/1823

Differential Revision: D4492902

Pulled By: siying

fbshipit-source-id: c74cb11
2017-02-06 14:54:18 -08:00
..
win Windows thread 2017-02-06 14:54:18 -08:00
dirent.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
likely.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
port_example.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
port_posix.cc Alpine Linux Build (#990) 2016-04-22 16:49:12 -07:00
port_posix.h Windows thread 2017-02-06 14:54:18 -08:00
port.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
README reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
stack_trace.cc The array is malloced by backtrace_symbols(), and must be freed 2016-12-20 17:24:12 -08:00
stack_trace.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sys_time.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
util_logger.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
xpress.h Introduce XPRESS compresssion on Windows. (#1081) 2016-04-19 22:54:24 -07:00

This directory contains interfaces and implementations that isolate the
rest of the package from platform details.

Code in the rest of the package includes "port.h" from this directory.
"port.h" in turn includes a platform specific "port_<platform>.h" file
that provides the platform specific implementation.

See port_posix.h for an example of what must be provided in a platform
specific header file.