diff options
| author | David M. Syzdek <syzdek@bindlebinaries.com> | 2017-07-07 09:54:41 -0800 |
|---|---|---|
| committer | David M. Syzdek <syzdek@bindlebinaries.com> | 2017-07-07 09:54:41 -0800 |
| commit | c741765da5aa33c223b5af869530d101344af610 (patch) | |
| tree | f5aca0ba62bbce9bf4bc89b9d07abac06ff19300 | |
| parent | abf16057aaade11fb34523c9ebe3a16bbbe62dda (diff) | |
| download | securecoreutils-c741765da5aa33c223b5af869530d101344af610.tar.gz securecoreutils-c741765da5aa33c223b5af869530d101344af610.tar.bz2 securecoreutils-c741765da5aa33c223b5af869530d101344af610.tar.xz securecoreutils-c741765da5aa33c223b5af869530d101344af610.zip | |
Adding ability to modify tail timeout value via environment variable TAILTIMEOUT
| -rw-r--r-- | src/widget-tail.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/widget-tail.c b/src/widget-tail.c index 69ed7c3..ef6d484 100644 --- a/src/widget-tail.c +++ b/src/widget-tail.c | |||
| @@ -341,15 +341,27 @@ int scu_widget_tail_follow(scu_config * cnf, int fd) | |||
| 341 | char buff[SCU_BUFF_MAX]; | 341 | char buff[SCU_BUFF_MAX]; |
| 342 | ssize_t len; | 342 | ssize_t len; |
| 343 | struct timespec ts; | 343 | struct timespec ts; |
| 344 | unsigned alarm_seconds; | ||
| 345 | unsigned tailtimeout; | ||
| 346 | char * value; | ||
| 347 | char * ptr; | ||
| 344 | 348 | ||
| 349 | alarm_seconds = SCU_TAIL_TIMEOUT; | ||
| 345 | ts.tv_sec = 0; | 350 | ts.tv_sec = 0; |
| 346 | ts.tv_nsec = 10000000; | 351 | ts.tv_nsec = 10000000; |
| 347 | timeout_alarmed = 0; | 352 | timeout_alarmed = 0; |
| 348 | 353 | ||
| 349 | #if (SCU_TAIL_TIMEOUT > 0) | 354 | // sets alarm for terminating follow |
| 350 | signal(SIGALRM, scu_widget_tail_follow_alarm); | 355 | if ((value = getenv("TAILTIMEOUT")) != NULL) |
| 351 | alarm(SCU_TAIL_TIMEOUT); | 356 | { |
| 352 | #endif | 357 | tailtimeout = (unsigned)strtoul(value, &ptr, 0); |
| 358 | alarm_seconds = (ptr == value) ? alarm_seconds : tailtimeout; | ||
| 359 | }; | ||
| 360 | if (alarm_seconds > 0) | ||
| 361 | { | ||
| 362 | signal(SIGALRM, scu_widget_tail_follow_alarm); | ||
| 363 | alarm(alarm_seconds); | ||
| 364 | }; | ||
| 353 | 365 | ||
| 354 | while (!(timeout_alarmed)) | 366 | while (!(timeout_alarmed)) |
| 355 | { | 367 | { |
