diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2022-10-24 18:03:26 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-24 18:03:26 +0900 |
commit | b51b22513f6a2a514a9e614e7a9f6e0df6c0c985 (patch) | |
tree | 00d099e3804c63e9957b7c2c9c0652723a7efcd6 /hrtime.h | |
parent | 6700fa7f62b040b5f69c3c5c3f5dbe740910c990 (diff) |
Fix per-instance Regexp timeout (#6621)
Fix per-instance Regexp timeout
This makes it follow what was decided in [Bug #19055]:
* `Regexp.new(str, timeout: nil)` should respect the global timeout
* `Regexp.new(str, timeout: huge_val)` should use the maximum value that
can be represented in the internal representation
* `Regexp.new(str, timeout: 0 or negative value)` should raise an error
Notes
Notes:
Merged-By: mame <mame@ruby-lang.org>
Diffstat (limited to 'hrtime.h')
-rw-r--r-- | hrtime.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -206,6 +206,7 @@ double2hrtime(rb_hrtime_t *hrt, double d) const double TIMESPEC_SEC_MAX_PLUS_ONE = 2.0 * (TIMESPEC_SEC_MAX_as_double / 2.0 + 1.0); if (TIMESPEC_SEC_MAX_PLUS_ONE <= d) { + *hrt = RB_HRTIME_MAX; return NULL; } else if (d <= 0) { |