[qpid-proton] branch main updated: PROTON-2519: epoll proactor - clarify unpolled work and move assertion outside loop repeated with EINTR
This is an automated email from the ASF dual-hosted git repository. cliffjansen pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-proton.git The following commit(s) were added to refs/heads/main by this push: new c8bcd4a PROTON-2519: epoll proactor - clarify unpolled work and move assertion outside loop repeated with EINTR c8bcd4a is described below commit c8bcd4a0991607851cea2c611c550a59db1f47b6 Author: Cliff Jansen AuthorDate: Fri Dec 17 12:42:58 2021 -0800 PROTON-2519: epoll proactor - clarify unpolled work and move assertion outside loop repeated with EINTR --- c/src/proactor/epoll.c | 11 +++ 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c index 6207267..2f491ca 100644 --- a/c/src/proactor/epoll.c +++ b/c/src/proactor/epoll.c @@ -2471,9 +2471,11 @@ static pn_event_batch_t *next_event_batch(pn_proactor_t* p, bool can_block) { // Call with sched lock. Return true if !can_block and no new events to process. static bool poller_do_epoll(struct pn_proactor_t* p, tslot_t *ts, bool can_block) { // As poller with lots to do, be mindful of hogging the sched lock. Release when making kernel calls. + assert(!p->resched_cutoff); + assert(!p->sched_ready_first); int n_events; task_t *tsk; - assert(!p->resched_cutoff); + bool unpolled_work = false; while (true) { assert(p->n_runnables == 0); @@ -2484,13 +2486,15 @@ static bool poller_do_epoll(struct pn_proactor_t* p, tslot_t *ts, bool can_block p->last_earmark = NULL; bool unfinished_earmarks = p->earmark_count > 0; -bool epoll_immediate = p->resched_first || unfinished_earmarks || !can_block; -assert(!p->sched_ready_first); +if (unfinished_earmarks || p->resched_first) + unpolled_work = true; +bool epoll_immediate = unpolled_work || !can_block; // Determine if notify_poller() can be avoided. if (!epoll_immediate) { lock(&p->eventfd_mutex); if (p->ready_list_first) { +unpolled_work = true; epoll_immediate = true; } else { // Poller may sleep. Enable eventfd wakeup. @@ -2508,7 +2512,6 @@ static bool poller_do_epoll(struct pn_proactor_t* p, tslot_t *ts, bool can_block lock(&p->sched_mutex); p->poller_suspended = false; -bool unpolled_work = false; if (p->resched_first) { // Defer future resched tasks until next do_epoll() p->resched_cutoff = p->resched_last; - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
[qpid-site] 02/02: update site content for qpid-jms 1.4.1
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/qpid-site.git commit f9186cb564f75ac4d358594f80130e7a087a7e90 Author: Robbie Gemmell AuthorDate: Fri Dec 17 18:00:07 2021 + update site content for qpid-jms 1.4.1 --- content/components/jms/index.html | 8 +- content/dashboard.html | 2 +- content/documentation.html | 4 +- content/download.html | 6 +- content/maven.html | 2 +- content/releases/index.html| 5 +- content/releases/qpid-jms-0.37.0/index.html| 2 +- content/releases/qpid-jms-0.38.0/index.html| 2 +- content/releases/qpid-jms-0.39.0/index.html| 2 +- content/releases/qpid-jms-0.40.0/index.html| 2 +- content/releases/qpid-jms-0.41.0/index.html| 2 +- content/releases/qpid-jms-0.42.0/index.html| 2 +- content/releases/qpid-jms-0.43.0/index.html| 2 +- content/releases/qpid-jms-0.44.0/index.html| 2 +- content/releases/qpid-jms-0.45.0/index.html| 2 +- content/releases/qpid-jms-0.46.0/index.html| 2 +- content/releases/qpid-jms-0.47.0/index.html| 2 +- content/releases/qpid-jms-0.48.0/index.html| 2 +- content/releases/qpid-jms-0.49.0/index.html| 2 +- content/releases/qpid-jms-0.50.0/index.html| 2 +- content/releases/qpid-jms-0.51.0/index.html| 2 +- content/releases/qpid-jms-0.52.0/index.html| 2 +- content/releases/qpid-jms-0.53.0/index.html| 2 +- content/releases/qpid-jms-0.54.0/index.html| 2 +- content/releases/qpid-jms-0.55.0/index.html| 2 +- content/releases/qpid-jms-0.56.0/index.html| 2 +- content/releases/qpid-jms-0.57.0/index.html| 2 +- content/releases/qpid-jms-0.58.0/index.html| 2 +- content/releases/qpid-jms-0.59.0/index.html| 2 +- content/releases/qpid-jms-0.60.1/index.html| 2 +- content/releases/qpid-jms-1.0.0/index.html | 2 +- content/releases/qpid-jms-1.1.0/index.html | 2 +- content/releases/qpid-jms-1.2.0/index.html | 2 +- content/releases/qpid-jms-1.3.0/index.html | 2 +- .../qpid-jms-1.4.1/building.html} | 91 ++-- content/releases/qpid-jms-1.4.1/docs/index.html| 584 + .../{qpid-jms-1.3.0 => qpid-jms-1.4.1}/index.html | 24 +- .../release-notes.html}| 71 +-- input/_transom_config.py | 2 +- input/releases/index.md| 5 +- input/releases/qpid-jms-1.4.1/building.md | 46 ++ input/releases/qpid-jms-1.4.1/docs/index.md| 386 ++ input/releases/qpid-jms-1.4.1/index.md | 68 +++ input/releases/qpid-jms-1.4.1/release-notes.md | 37 ++ 44 files changed, 1222 insertions(+), 175 deletions(-) diff --git a/content/components/jms/index.html b/content/components/jms/index.html index 3c0823c..0242618 100644 --- a/content/components/jms/index.html +++ b/content/components/jms/index.html @@ -147,9 +147,9 @@ API http://docs.oracle.com/javaee/7/api/javax/jms/package-summary.html";>API reference -https://github.com/apache/qpid-jms/tree/1.3.0/qpid-jms-examples";>Examples -Configuration -Building Qpid JMS +https://github.com/apache/qpid-jms/tree/1.4.1/qpid-jms-examples";>Examples +Configuration +Building Qpid JMS @@ -163,7 +163,7 @@ API Releases -Qpid JMS 1.3.0 +Qpid JMS 1.4.1 Past releases diff --git a/content/dashboard.html b/content/dashboard.html index d125039..f8ac15f 100644 --- a/content/dashboard.html +++ b/content/dashboard.html @@ -169,7 +169,7 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/> Qpid JMS - 1.3.0 + 1.4.1 https://issues.apache.org/jira/projects/QPIDJMS";>Summary • https://issues.apache.org/jira/issues/?jql=project+%3D+QPIDJMS+and+resolution+is+null";>Open issues • https://issues.apache.org/jira/issues/?jql=project+%3D+QPIDJMS";>All issues • https://issues.apache.org/jira/secure/CreateIssue!default.jspa?pid=12314524";>Create issue https://builds.apache.org/blue/organizations/jenkins/Qpid%2FQpid-JMS-Test-JDK11/activity";>https://builds.apache.org/buildStatus/icon?job=Qpid/Qpid-JMS-Test-JDK11"; height="20"/> https://travis-ci.com/github/apache/qpid-jms";>https://travis-ci.com/apache/qpid-jms.svg?branch=main"; height="20"/> https://builds.apache.org/blue/organizations/jenkins/Qpid%2FQpid-JMS-Test-JDK11-Windows/activity";>https://builds.apache.org/build [...] https://gitbox.apache.org/repos/asf/qpid-jms.git";>Git • https://github.com/apache/qpid-jms";>GitHub diff --git a/content/documentation.html b/content/documentation.html index afd0b70..817b2d4 100644 --- a/c
[qpid-site] 01/02: update site content for qpid-jms 0.60.1
This is an automated email from the ASF dual-hosted git repository. robbie pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/qpid-site.git commit e050d56ab282b5db5f562485f2f029b867f77f5d Author: Robbie Gemmell AuthorDate: Fri Dec 17 17:53:57 2021 + update site content for qpid-jms 0.60.1 --- content/download.html | 6 +- content/releases/index.html| 3 +- content/releases/qpid-jms-0.59.0/index.html| 2 +- .../index.html => qpid-jms-0.60.1/building.html} | 106 ++-- content/releases/qpid-jms-0.60.1/docs/index.html | 584 + .../index.html | 24 +- .../release-notes.html}| 80 +-- content/releases/qpid-jms-1.0.0/index.html | 2 +- content/releases/qpid-jms-1.1.0/index.html | 2 +- content/releases/qpid-jms-1.2.0/index.html | 2 +- content/releases/qpid-jms-1.3.0/index.html | 2 +- input/_transom_config.py | 2 +- input/releases/index.md| 3 +- input/releases/qpid-jms-0.60.1/building.md | 46 ++ input/releases/qpid-jms-0.60.1/docs/index.md | 386 ++ input/releases/qpid-jms-0.60.1/index.md| 68 +++ input/releases/qpid-jms-0.60.1/release-notes.md| 48 ++ 17 files changed, 1225 insertions(+), 141 deletions(-) diff --git a/content/download.html b/content/download.html index 27edd9b..d075d61 100644 --- a/content/download.html +++ b/content/download.html @@ -159,9 +159,9 @@ https://github.com/apache/qpid-proton/blob/go1{/dir}/{file}#L{line}"/> - 0.59.0 - https://www.apache.org/dyn/closer.lua?filename=qpid/jms/0.59.0/apache-qpid-jms-0.59.0-src.tar.gz&action=download";>Source (https://downloads.apache.org/qpid/jms/0.59.0/apache-qpid-jms-0.59.0-src.tar.gz.asc";>ASC, https://downloads.apache.org/qpid/jms/0.59.0/apache-qpid-jms-0.59.0-src.tar.gz.sha512";>SHA512), https://www.apache.org/dyn/closer.lua?filename=qpid/jms/0.59.0/apache-qpid-jms-0.59.0-bin.tar.gz&action=download";>BinaryRelease Page, Maven + 0.60.1 + https://www.apache.org/dyn/closer.lua?filename=qpid/jms/0.60.1/apache-qpid-jms-0.60.1-src.tar.gz&action=download";>Source (https://downloads.apache.org/qpid/jms/0.60.1/apache-qpid-jms-0.60.1-src.tar.gz.asc";>ASC, https://downloads.apache.org/qpid/jms/0.60.1/apache-qpid-jms-0.60.1-src.tar.gz.sha512";>SHA512), https://www.apache.org/dyn/closer.lua?filename=qpid/jms/0.60.1/apache-qpid-jms-0.60.1-bin.tar.gz&action=download";>BinaryRelease Page, Maven Qpid JMS AMQP 0-x diff --git a/content/releases/index.html b/content/releases/index.html index 873a4f7..6becd9f 100644 --- a/content/releases/index.html +++ b/content/releases/index.html @@ -126,6 +126,7 @@ the +Qpid JMS 0.60.1, Dec 2021 Qpid Dispatch 1.18.0, November 2021 Qpid Interop-test 0.3.0, November 2021 Qpid Proton 0.36.0, November 2021 @@ -133,7 +134,6 @@ the Qpid JMS 1.3.0, October 2021 Qpid Proton-J 0.33.10, October 2021 Qpid Broker-J 8.0.6, August 2021 -Qpid JMS 0.59.0, May 2021 Qpid Broker-J 7.1.12, February 2021 Qpid JMS AMQP 0-x 6.4.0, June 2020 Qpid C++ 1.39.0, October 2018 @@ -156,6 +156,7 @@ the Qpid Dispatch 1.16.1, July 2021 Qpid Broker-J 8.0.5, June 2021 Qpid JMS 1.0.0, May 2021 +Qpid JMS 0.59.0, May 2021 Qpid Dispatch 1.16.0, May 2021 Qpid ProtonJ2 1.0.0-M2, May 2021 Qpid ProtonJ2 1.0.0-M1, May 2021 diff --git a/content/releases/qpid-jms-0.59.0/index.html b/content/releases/qpid-jms-0.59.0/index.html index 5ea4387..fb08492 100644 --- a/content/releases/qpid-jms-0.59.0/index.html +++ b/content/releases/qpid-jms-0.59.0/index.html @@ -175,7 +175,7 @@ files you download. _deferredFunctions.push(function() { - if ("0.59.0" === "1.3.0") || "0.59.0" === "0.59.0") { + if ("0.59.0" === "1.3.0") || "0.59.0" === "0.60.1") { _modifyCurrentReleaseLinks(); } }); diff --git a/content/releases/qpid-jms-1.1.0/index.html b/content/releases/qpid-jms-0.60.1/building.html similarity index 69% copy from content/releases/qpid-jms-1.1.0/index.html copy to content/releases/qpid-jms-0.60.1/building.html index e205e9a..c1c464c 100644 --- a/content/releases/qpid-jms-1.1.0/index.html +++ b/content/releases/qpid-jms-0.60.1/building.html @@ -21,7 +21,7 @@ --> http://www.w3.org/1999/xhtml"; xml:lang="en"> -Qpid JMS 1.1.0 - Apache Qpid™ +Qpid JMS - Apache Qpid™ @@ -111,75 +111,59 @@ https://github.com/
[qpid-site] branch asf-site updated (6464522 -> f9186cb)
This is an automated email from the ASF dual-hosted git repository. robbie pushed a change to branch asf-site in repository https://gitbox.apache.org/repos/asf/qpid-site.git. from 6464522 Update site content for Qpid Dispatch 1.18.0 new e050d56 update site content for qpid-jms 0.60.1 new f9186cb update site content for qpid-jms 1.4.1 The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: content/components/jms/index.html | 8 +- content/dashboard.html | 2 +- content/documentation.html | 4 +- content/download.html | 12 +- content/maven.html | 2 +- content/releases/index.html| 6 +- content/releases/qpid-jms-0.37.0/index.html| 2 +- content/releases/qpid-jms-0.38.0/index.html| 2 +- content/releases/qpid-jms-0.39.0/index.html| 2 +- content/releases/qpid-jms-0.40.0/index.html| 2 +- content/releases/qpid-jms-0.41.0/index.html| 2 +- content/releases/qpid-jms-0.42.0/index.html| 2 +- content/releases/qpid-jms-0.43.0/index.html| 2 +- content/releases/qpid-jms-0.44.0/index.html| 2 +- content/releases/qpid-jms-0.45.0/index.html| 2 +- content/releases/qpid-jms-0.46.0/index.html| 2 +- content/releases/qpid-jms-0.47.0/index.html| 2 +- content/releases/qpid-jms-0.48.0/index.html| 2 +- content/releases/qpid-jms-0.49.0/index.html| 2 +- content/releases/qpid-jms-0.50.0/index.html| 2 +- content/releases/qpid-jms-0.51.0/index.html| 2 +- content/releases/qpid-jms-0.52.0/index.html| 2 +- content/releases/qpid-jms-0.53.0/index.html| 2 +- content/releases/qpid-jms-0.54.0/index.html| 2 +- content/releases/qpid-jms-0.55.0/index.html| 2 +- content/releases/qpid-jms-0.56.0/index.html| 2 +- content/releases/qpid-jms-0.57.0/index.html| 2 +- content/releases/qpid-jms-0.58.0/index.html| 2 +- content/releases/qpid-jms-0.59.0/index.html| 2 +- .../qpid-jms-0.60.1/building.html} | 91 ++-- content/releases/qpid-jms-0.60.1/docs/index.html | 584 + .../index.html | 24 +- .../release-notes.html}| 80 +-- content/releases/qpid-jms-1.0.0/index.html | 2 +- content/releases/qpid-jms-1.1.0/index.html | 2 +- content/releases/qpid-jms-1.2.0/index.html | 2 +- content/releases/qpid-jms-1.3.0/index.html | 2 +- .../qpid-jms-1.4.1/building.html} | 91 ++-- content/releases/qpid-jms-1.4.1/docs/index.html| 584 + .../{qpid-jms-1.3.0 => qpid-jms-1.4.1}/index.html | 24 +- .../release-notes.html}| 71 +-- input/_transom_config.py | 4 +- input/releases/index.md| 6 +- .../building.md| 0 .../docs/index.md | 0 input/releases/qpid-jms-0.60.1/index.md| 68 +++ input/releases/qpid-jms-0.60.1/release-notes.md| 48 ++ .../{qpid-jms-1.3.0 => qpid-jms-1.4.1}/building.md | 0 .../docs/index.md | 0 input/releases/qpid-jms-1.4.1/index.md | 68 +++ input/releases/qpid-jms-1.4.1/release-notes.md | 37 ++ 51 files changed, 1562 insertions(+), 306 deletions(-) copy content/{components/jms/index.html => releases/qpid-jms-0.60.1/building.html} (70%) create mode 100644 content/releases/qpid-jms-0.60.1/docs/index.html copy content/releases/{qpid-jms-0.58.0 => qpid-jms-0.60.1}/index.html (87%) copy content/releases/{qpid-jms-0.40.0/index.html => qpid-jms-0.60.1/release-notes.html} (70%) copy content/{components/jms/index.html => releases/qpid-jms-1.4.1/building.html} (70%) create mode 100644 content/releases/qpid-jms-1.4.1/docs/index.html copy content/releases/{qpid-jms-1.3.0 => qpid-jms-1.4.1}/index.html (87%) copy content/releases/{qpid-jms-0.40.0/index.html => qpid-jms-1.4.1/release-notes.html} (70%) copy input/releases/{qpid-jms-1.3.0 => qpid-jms-0.60.1}/building.md (100%) copy input/releases/{qpid-jms-1.3.0 => qpid-jms-0.60.1}/docs/index.md (100%) create mode 100644 input/releases/qpid-jms-0.60.1/index.md create mode 100644 input/releases/qpid-jms-0.60.1/release-notes.md copy input/releases/{qpid-jms-1.3.0 => qpid-jms-1.4.1}/building.md (100%) copy input/releases/{qpid-jms-1.3.0 => qpid-jms-1.4.1}/docs/index.md (100%) create mode 100644 input/releases/qpid-jms-1.4.1/index.md create mode 100644 input/release
[qpid-proton] branch main updated: Partially revert "NO-JIRA: Remove unused header definition"
This is an automated email from the ASF dual-hosted git repository. astitcher pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-proton.git The following commit(s) were added to refs/heads/main by this push: new 319ed99 Partially revert "NO-JIRA: Remove unused header definition" 319ed99 is described below commit 319ed99f0c4ffa6fbfa23bbfc298abbc3b08473c Author: Andrew Stitcher AuthorDate: Fri Dec 17 15:53:27 2021 -0500 Partially revert "NO-JIRA: Remove unused header definition" Commit error reverted earlier changes. --- c/src/proactor/epoll-internal.h | 5 +- c/src/proactor/epoll.c | 131 2 files changed, 54 insertions(+), 82 deletions(-) diff --git a/c/src/proactor/epoll-internal.h b/c/src/proactor/epoll-internal.h index 8e9e1b2..f0afc9e 100644 --- a/c/src/proactor/epoll-internal.h +++ b/c/src/proactor/epoll-internal.h @@ -102,7 +102,7 @@ typedef struct task_t { tslot_t *prev_runner; bool sched_ready; bool sched_pending; /* If true, one or more unseen epoll or other events to process() */ - bool runnable ; /* on one of the runnable lists */ + int runnables_idx;/* 0 means unset, idx-1 is array position */ } task_t; typedef enum { @@ -198,7 +198,7 @@ struct pn_proactor_t { task_t *resched_cutoff; // last resched task of current poller work snapshot. TODO: superseded by polled_resched_count? task_t *resched_next; unsigned int resched_count; - unsigned int polled_resched_count; + unsigned int polled_resched_count; pmutex tslot_mutex; int earmark_count; bool earmark_drain; @@ -302,6 +302,7 @@ struct pn_listener_t { size_t pending_count; /* number of pending accepted connections */ size_t backlog; /* size of pending accepted array */ bool close_dispatched; + int overflow_count; uint32_t sched_io_events; }; diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c index ea2e25a..6207267 100644 --- a/c/src/proactor/epoll.c +++ b/c/src/proactor/epoll.c @@ -47,6 +47,8 @@ non-proactor-task -> proactor-task tslot -> sched + TODO: doc new work: warm (assigned), earmarked (assigned), runnables (unordered), sched_ready + list (ordered), resched list (ordered). TODO: document role of sched_pending and how sched_XXX (i.e. sched_interrupt) transitions from "private to the scheduler" to "visible to the task". TODO: document task.working duration can be long: from xxx_process() to xxx_done() or null batch. @@ -442,7 +444,7 @@ static void assign_thread(tslot_t *ts, task_t *tsk) { assert(!tsk->runner); tsk->runner = ts; tsk->prev_runner = NULL; - tsk->runnable = false; + tsk->runnables_idx = 0; ts->task = tsk; ts->prev_task = NULL; } @@ -539,10 +541,9 @@ static void remove_earmark(tslot_t *ts) { static void make_runnable(task_t *tsk) { pn_proactor_t *p = tsk->proactor; assert(p->n_runnables <= p->runnables_capacity); - assert(!tsk->runnable); + assert(!tsk->runnables_idx); if (tsk->runner) return; - tsk->runnable = true; // Track it as normal or warm or earmarked if (pni_warm_sched) { tslot_t *ts = tsk->prev_runner; @@ -552,8 +553,11 @@ static void make_runnable(task_t *tsk) { p->warm_runnables[p->n_warm_runnables++] = tsk; assign_thread(ts, tsk); } -else - p->runnables[p->n_runnables++] = tsk; +else { + p->runnables[p->n_runnables] = tsk; + tsk->runnables_idx = p->n_runnables + 1; // off by one accounting + p->n_runnables++; +} return; } if (ts->state == UNUSED && !p->earmark_drain) { @@ -563,7 +567,9 @@ static void make_runnable(task_t *tsk) { } } } - p->runnables[p->n_runnables++] = tsk; + p->runnables[p->n_runnables] = tsk; + tsk->runnables_idx = p->n_runnables + 1; // off by one accounting + p->n_runnables++; } @@ -709,6 +715,7 @@ static acceptor_t *acceptor_list_next(acceptor_t **start) { // Add an overflowing acceptor to the overflow list. Called with listener task lock held. static void acceptor_set_overflow(acceptor_t *a) { a->overflowed = true; + a->listener->overflow_count++; pn_proactor_t *p = a->listener->task.proactor; lock(&p->overflow_mutex); acceptor_list_append(&p->overflow, a); @@ -734,6 +741,7 @@ static void proactor_rearm_overflow(pn_proactor_t *p) { assert(!a->armed); assert(a->overflowed); a->overflowed = false; +l->overflow_count++; if (rearming) { rearm(p, &a->psocket.epoll_io); a->armed = true; @@ -983,35 +991,6 @@ static inline void pconnection_rearm(pconnection_t *pc, int wanted_now) { // Return immediately. pc may have just been freed by another thread. } -/* Only call when context switch is imminent. Sched lock is highly contested. */ -// Call with both task and sched locks. -static bool pconnection_sche
[qpid-proton] branch main updated: NO-JIRA: Remove unused header definition
This is an automated email from the ASF dual-hosted git repository. astitcher pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/qpid-proton.git The following commit(s) were added to refs/heads/main by this push: new 8676e30 NO-JIRA: Remove unused header definition 8676e30 is described below commit 8676e30b79df93753fa317c1cb155f94f3d0ca0b Author: Andrew Stitcher AuthorDate: Fri Dec 17 15:37:54 2021 -0500 NO-JIRA: Remove unused header definition --- c/src/core/engine-internal.h| 2 - c/src/proactor/epoll-internal.h | 5 +- c/src/proactor/epoll.c | 131 3 files changed, 82 insertions(+), 56 deletions(-) diff --git a/c/src/core/engine-internal.h b/c/src/core/engine-internal.h index 500be12..5c8b6c2 100644 --- a/c/src/core/engine-internal.h +++ b/c/src/core/engine-internal.h @@ -376,8 +376,6 @@ void pn_link_unbound(pn_link_t* link); void pn_ep_incref(pn_endpoint_t *endpoint); void pn_ep_decref(pn_endpoint_t *endpoint); -pn_bytes_t pn_fill_performative(pn_transport_t *transport, const char *fmt, ...); - #if __cplusplus } #endif diff --git a/c/src/proactor/epoll-internal.h b/c/src/proactor/epoll-internal.h index f0afc9e..8e9e1b2 100644 --- a/c/src/proactor/epoll-internal.h +++ b/c/src/proactor/epoll-internal.h @@ -102,7 +102,7 @@ typedef struct task_t { tslot_t *prev_runner; bool sched_ready; bool sched_pending; /* If true, one or more unseen epoll or other events to process() */ - int runnables_idx;/* 0 means unset, idx-1 is array position */ + bool runnable ; /* on one of the runnable lists */ } task_t; typedef enum { @@ -198,7 +198,7 @@ struct pn_proactor_t { task_t *resched_cutoff; // last resched task of current poller work snapshot. TODO: superseded by polled_resched_count? task_t *resched_next; unsigned int resched_count; - unsigned int polled_resched_count; + unsigned int polled_resched_count; pmutex tslot_mutex; int earmark_count; bool earmark_drain; @@ -302,7 +302,6 @@ struct pn_listener_t { size_t pending_count; /* number of pending accepted connections */ size_t backlog; /* size of pending accepted array */ bool close_dispatched; - int overflow_count; uint32_t sched_io_events; }; diff --git a/c/src/proactor/epoll.c b/c/src/proactor/epoll.c index 6207267..ea2e25a 100644 --- a/c/src/proactor/epoll.c +++ b/c/src/proactor/epoll.c @@ -47,8 +47,6 @@ non-proactor-task -> proactor-task tslot -> sched - TODO: doc new work: warm (assigned), earmarked (assigned), runnables (unordered), sched_ready - list (ordered), resched list (ordered). TODO: document role of sched_pending and how sched_XXX (i.e. sched_interrupt) transitions from "private to the scheduler" to "visible to the task". TODO: document task.working duration can be long: from xxx_process() to xxx_done() or null batch. @@ -444,7 +442,7 @@ static void assign_thread(tslot_t *ts, task_t *tsk) { assert(!tsk->runner); tsk->runner = ts; tsk->prev_runner = NULL; - tsk->runnables_idx = 0; + tsk->runnable = false; ts->task = tsk; ts->prev_task = NULL; } @@ -541,9 +539,10 @@ static void remove_earmark(tslot_t *ts) { static void make_runnable(task_t *tsk) { pn_proactor_t *p = tsk->proactor; assert(p->n_runnables <= p->runnables_capacity); - assert(!tsk->runnables_idx); + assert(!tsk->runnable); if (tsk->runner) return; + tsk->runnable = true; // Track it as normal or warm or earmarked if (pni_warm_sched) { tslot_t *ts = tsk->prev_runner; @@ -553,11 +552,8 @@ static void make_runnable(task_t *tsk) { p->warm_runnables[p->n_warm_runnables++] = tsk; assign_thread(ts, tsk); } -else { - p->runnables[p->n_runnables] = tsk; - tsk->runnables_idx = p->n_runnables + 1; // off by one accounting - p->n_runnables++; -} +else + p->runnables[p->n_runnables++] = tsk; return; } if (ts->state == UNUSED && !p->earmark_drain) { @@ -567,9 +563,7 @@ static void make_runnable(task_t *tsk) { } } } - p->runnables[p->n_runnables] = tsk; - tsk->runnables_idx = p->n_runnables + 1; // off by one accounting - p->n_runnables++; + p->runnables[p->n_runnables++] = tsk; } @@ -715,7 +709,6 @@ static acceptor_t *acceptor_list_next(acceptor_t **start) { // Add an overflowing acceptor to the overflow list. Called with listener task lock held. static void acceptor_set_overflow(acceptor_t *a) { a->overflowed = true; - a->listener->overflow_count++; pn_proactor_t *p = a->listener->task.proactor; lock(&p->overflow_mutex); acceptor_list_append(&p->overflow, a); @@ -741,7 +734,6 @@ static void proactor_rearm_overflow(pn_proactor_t *p) { assert(!a->armed); assert(a->overflowed); a->overflowed = false; -l->overflow_count++; if (rearming) {
svn commit: r51550 - /release/qpid/jms/0.60.1/
Author: robbie Date: Fri Dec 17 15:40:13 2021 New Revision: 51550 Log: add files for qpid-jms 0.60.1 Added: release/qpid/jms/0.60.1/ - copied from r51549, dev/qpid/jms/0.60.1-rc1/ - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org
svn commit: r51549 - /release/qpid/jms/1.4.1/
Author: robbie Date: Fri Dec 17 15:39:27 2021 New Revision: 51549 Log: add files for qpid-jms 1.4.1 Added: release/qpid/jms/1.4.1/ - copied from r51548, dev/qpid/jms/1.4.1-rc1/ - To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org