tree e1568875c10a04ec281369e248c947cc8c3fbc5a
parent 2fd96294780f016a5b2533f0c1826a07dbbac2a8
author Roman M. Iudichev <SecNotice@ya.ru> 1620401537 +0300
committer GitHub <noreply@github.com> 1620401537 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJglV2BCRBK7hj4Ov3rIwAAPHcIAFgh+J4EOEABf9UJ/1ma6kuj
 UyZ3Dr48v7JvZRsf+LDC2NoaaCbHm/7Md1Bp9n5qhRdSq4nl2gXkuLXdJWqNN7kr
 txprCeNrxWA/ytEdrJXCMaGlHgUz1YioECxGNH4l7oVYQiY+4mP4wmM2db2G1XWY
 pRgQbLASlq9/xdEcy7xJcnmNPlvuzClShg+4WijXK2q6meWqNvmCRfb1Q/j5exmb
 bryDi1rkcNWoBqc9rt7UsKEtXvG+0QBFo7jfFW4cQ4cH12MTGr3uBmis7lxWOyPa
 QwJNnh1/k9nsckCh9ZEtY1qIxwbieJ19KOKHt+oRfrqTjnFVGUFx7Btif9NrtAI=
 =5jXN
 -----END PGP SIGNATURE-----
 

Exit on time (#904)

* Variable AFL_EXIT_ON_TIME description has been added.
Variables AFL_EXIT_ON_TIME and afl_exit_on_time has been added.
afl->exit_on_time variable initialization has been added.
The asignment of a value to the afl->afl_env.afl_exit_on_time variable from
environment variables has been added.
Code to exit on timeout if new path not found has been added.

* Type of afl_exit_on_time variable has been changed.
Variable exit_on_time has been added to the afl_state_t structure.

* Command `export AFL_EXIT_WHEN_DONE=1` has been added.

* Millisecond to second conversion has been added.
Call get_cur_time() has been added.

* Revert to using the saved current time value.

* Useless check has been removed.