[qpid-proton] branch main updated: PROTON-2519: epoll proactor - clarify unpolled work and move assertion outside loop repeated with EINTR

2021-12-17 Thread cliffjansen
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

2021-12-17 Thread robbie
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

2021-12-17 Thread robbie
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)

2021-12-17 Thread robbie
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"

2021-12-17 Thread astitcher
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

2021-12-17 Thread astitcher
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/

2021-12-17 Thread robbie
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/

2021-12-17 Thread robbie
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