diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-03-26 13:38:51 -0700 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-03-30 12:38:56 -0700 |
| commit | ddb8267c4d85b8d2290fc7fd062c85502fb98978 (patch) | |
| tree | 3abd206edbe67af1d39ce05c755fa29cf681ad95 /src/core | |
| parent | 99907b52872d9fc9c68f1af60299dd8476c0a603 (diff) | |
| download | nng-ddb8267c4d85b8d2290fc7fd062c85502fb98978.tar.gz nng-ddb8267c4d85b8d2290fc7fd062c85502fb98978.tar.bz2 nng-ddb8267c4d85b8d2290fc7fd062c85502fb98978.zip | |
If timeout is NNG_TIME_NEVER, then simply deschedule.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/timer.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/core/timer.c b/src/core/timer.c index 8db2e9d8..08337b70 100644 --- a/src/core/timer.c +++ b/src/core/timer.c @@ -113,17 +113,19 @@ nni_timer_schedule(nni_timer_node *node, nni_time when) nni_list_remove(&timer->t_entries, node); } - srch = nni_list_first(&timer->t_entries); - while ((srch != NULL) && (srch->t_expire < node->t_expire)) { - srch = nni_list_next(&timer->t_entries, srch); - } - if (srch != NULL) { - nni_list_insert_before(&timer->t_entries, node, srch); - } else { - nni_list_append(&timer->t_entries, node); - } - if (nni_list_first(&timer->t_entries) == node) { - nni_cv_wake1(&timer->t_sched_cv); + if (when != NNI_TIME_NEVER) { + srch = nni_list_first(&timer->t_entries); + while ((srch != NULL) && (srch->t_expire < node->t_expire)) { + srch = nni_list_next(&timer->t_entries, srch); + } + if (srch != NULL) { + nni_list_insert_before(&timer->t_entries, node, srch); + } else { + nni_list_append(&timer->t_entries, node); + } + if (nni_list_first(&timer->t_entries) == node) { + nni_cv_wake1(&timer->t_sched_cv); + } } nni_mtx_unlock(&timer->t_mx); } |
