[PATCH] D27179: LibFuzzer - Implement timers for Windows and improve synchronization.

Marcos Pividori via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 29 09:31:56 PST 2016


mpividori updated this revision to Diff 79592.
mpividori added a comment.

+ Move the interruption handler into a separate thread for Posix implemention (instead of asynchronous signal handler). This is more appropriate for 2 reasons:

- `InterruptCallback()` uses functions like printf, and accesses to global data, which is not appropriate for a signal handler. By using a separate thread, we are able to synchronize with the main thread.
- Is the same approach than Windows, which makes code simpler, since we are sure that `InterruptCallback()` will be excecuted in a separate thread in both Windows and Posix systems.

+ Improve Signal Handler interface (`FuzzerUtil*.cpp` files).


Repository:
  rL LLVM

https://reviews.llvm.org/D27179

Files:
  lib/Fuzzer/FuzzerDriver.cpp
  lib/Fuzzer/FuzzerInternal.h
  lib/Fuzzer/FuzzerLoop.cpp
  lib/Fuzzer/FuzzerUtil.h
  lib/Fuzzer/FuzzerUtilPosix.cpp
  lib/Fuzzer/FuzzerUtilWindows.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27179.79592.patch
Type: text/x-patch
Size: 14958 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161129/2dc9d654/attachment.bin>


More information about the llvm-commits mailing list