[X2Go-Commits] x2gobroker.git - master (branch) updated: 0.0.2.3-64-g9ea6e7a

X2Go dev team git-admin at x2go.org
Wed Nov 20 14:47:29 CET 2013


The branch, master has been updated
       via  9ea6e7a0f2bb0102082e893b0a4139353f552c1b (commit)
      from  c5981026bd3dc77f6d33adf8d170d606e65de9fd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 9ea6e7a0f2bb0102082e893b0a4139353f552c1b
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Wed Nov 20 14:47:09 2013 +0100

    Ship python2.6 asyncore patch (Debian squeeze python2.6 version) in python-x2gobroker's docs folder.

-----------------------------------------------------------------------

Summary of changes:
 debian/changelog                                   |    2 +
 debian/python-x2gobroker.docs                      |    1 +
 .../python26_debian-squeeze_asyncore.patch         |   41 ++++++++++++++++++++
 3 files changed, 44 insertions(+)
 create mode 100644 patches/python-x2gobroker/python26_debian-squeeze_asyncore.patch

The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 180f147..c78385c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -54,6 +54,8 @@ x2gobroker (0.0.3.0-0~x2go1) UNRELEASED; urgency=low
       if the --password option is not used.
     - New authentication mechanism: none. Always authenticate a user, even if
       password is not provided or wrong.
+    - Ship python2.6 asyncore patch (Debian squeeze python2.6 version) in
+      python-x2gobroker's docs folder.
   * /debian/control:
     + Replace LDAP support with session brokerage support in LONG_DESCRIPTION.
     + Recommend apache2 and libapache2-mod-wsgi for x2gobroker-wsgi.
diff --git a/debian/python-x2gobroker.docs b/debian/python-x2gobroker.docs
index 5502ed8..37d2b55 100644
--- a/debian/python-x2gobroker.docs
+++ b/debian/python-x2gobroker.docs
@@ -1,3 +1,4 @@
 NEWS
 README
 TODO
+patches/python-x2gobroker
\ No newline at end of file
diff --git a/patches/python-x2gobroker/python26_debian-squeeze_asyncore.patch b/patches/python-x2gobroker/python26_debian-squeeze_asyncore.patch
new file mode 100644
index 0000000..9bf976a
--- /dev/null
+++ b/patches/python-x2gobroker/python26_debian-squeeze_asyncore.patch
@@ -0,0 +1,41 @@
+Author: Charles-François Natali (neologix)
+Description: 100% cpu usage when using asyncore with UNIX socket
+Origin: http://bugs.python.org/issue12502
+Abstract:
+ It's looping in Lib/asyncore.py:poll
+ .
+ select(4, [3], [3], [3], {30, 0})       = 1 (out [3], left {29, 999994})
+ select(4, [3], [3], [3], {30, 0})       = 1 (out [3], left {29, 999994})
+ select(4, [3], [3], [3], {30, 0})       = 1 (out [3], left {29, 999994})
+ .
+ loop sets the Unix domain socket in the writable set, and contrarily to
+ AF_INET/AF_INET6 sockets, bound AF_UNIX SOCK_STREAM sockets are reported
+ as writable before any client connects to them, which triggers the loop.
+ .
+ The patch just doesn't add the socket to the writable set if it's in the
+ accepting state. It fixes the loop, and doesn't seem to cause any regression
+ in test_asyncore.
+ .
+ Apply this patch to python2.6 package on Debian squeeze.
+--- /usr/lib/python2.6/asyncore.py.orig	2013-11-20 14:39:41.000000000 +0100
++++ /usr/lib/python2.6/asyncore.py	2013-11-20 14:39:00.000000000 +0100
+@@ -128,7 +128,8 @@
+             is_w = obj.writable()
+             if is_r:
+                 r.append(fd)
+-            if is_w: 
++            # accepting sockets should not be writable                                                                                                                                                                          
++            if is_w and not obj.accepting: 
+                 w.append(fd)
+             if is_r or is_w:
+                 e.append(fd)
+@@ -175,7 +176,8 @@
+             flags = 0
+             if obj.readable():
+                 flags |= select.POLLIN | select.POLLPRI
+-            if obj.writable():
++            # accepting sockets should not be writable
++            if obj.writable() and not obj.accepting:
+                 flags |= select.POLLOUT
+             if flags:
+                 # Only check for exceptions if object was either readable


hooks/post-receive
-- 
x2gobroker.git (HTTP(S) Session broker for X2Go)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2gobroker.git" (HTTP(S) Session broker for X2Go).




More information about the x2go-commits mailing list