From 02f70ce4a48ddf1d43f06d0fe0a83feec7dd22a0 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 13 Dec 2007 18:27:01 +0000 Subject: [PATCH] Update to 0.3.1 --- .cvsignore | 2 +- gtk-vnc-0.2.0-coroutine-caller.patch | 84 --------------------------- gtk-vnc-0.2.0-coroutine-cleanup.patch | 22 ------- gtk-vnc-0.2.0-execmem.patch | 14 ----- gtk-vnc.spec | 13 ++--- sources | 2 +- 6 files changed, 7 insertions(+), 130 deletions(-) delete mode 100644 gtk-vnc-0.2.0-coroutine-caller.patch delete mode 100644 gtk-vnc-0.2.0-coroutine-cleanup.patch delete mode 100644 gtk-vnc-0.2.0-execmem.patch diff --git a/.cvsignore b/.cvsignore index c32957c..c45140f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,3 @@ *.src.rpm .*.log -gtk-vnc-0.2.0.tar.gz +gtk-vnc-*.tar.gz diff --git a/gtk-vnc-0.2.0-coroutine-caller.patch b/gtk-vnc-0.2.0-coroutine-caller.patch deleted file mode 100644 index fb54f21..0000000 --- a/gtk-vnc-0.2.0-coroutine-caller.patch +++ /dev/null @@ -1,84 +0,0 @@ -changeset: 76:949312711737 -tag: tip -user: "Daniel P. Berrange " -date: Thu Oct 04 21:45:15 2007 -0400 -files: src/coroutine.c -description: -Fix to coroutine caller state management to avoid SEGV - - -diff -r ef58fe73ab0c -r 949312711737 src/coroutine.c ---- a/src/coroutine.c Thu Oct 04 10:30:40 2007 -0300 -+++ b/src/coroutine.c Thu Oct 04 21:45:15 2007 -0400 -@@ -11,6 +11,7 @@ - #include - #include - #include -+#include - #include "coroutine.h" - - int coroutine_release(struct coroutine *co) -@@ -57,25 +58,23 @@ int coroutine_init(struct coroutine *co) - } - - #if 0 --static __thread struct coroutine system; -+static __thread struct coroutine leader; - static __thread struct coroutine *current; - #else --static struct coroutine system; -+static struct coroutine leader; - static struct coroutine *current; - #endif - - struct coroutine *coroutine_self(void) - { - if (current == NULL) -- current = &system; -+ current = &leader; - return current; - } - - void *coroutine_swap(struct coroutine *from, struct coroutine *to, void *arg) - { - int ret; -- -- to->caller = from; - to->data = arg; - current = to; - ret = cc_swap(&from->cc, &to->cc); -@@ -83,7 +82,7 @@ void *coroutine_swap(struct coroutine *f - return from->data; - else if (ret == 1) { - coroutine_release(to); -- current = &system; -+ current = &leader; - to->exited = 1; - return to->data; - } -@@ -93,12 +92,23 @@ void *coroutine_swap(struct coroutine *f - - void *yieldto(struct coroutine *to, void *arg) - { -+ if (to->caller) { -+ fprintf(stderr, "Co-routine is re-entering itself\n"); -+ abort(); -+ } -+ to->caller = coroutine_self(); - return coroutine_swap(coroutine_self(), to, arg); - } - - void *yield(void *arg) - { -- return yieldto(coroutine_self()->caller, arg); -+ struct coroutine *to = coroutine_self()->caller; -+ if (!to) { -+ fprintf(stderr, "Co-routine is yielding to no one\n"); -+ abort(); -+ } -+ coroutine_self()->caller = NULL; -+ return coroutine_swap(coroutine_self(), to, arg); - } - /* - * Local variables: - diff --git a/gtk-vnc-0.2.0-coroutine-cleanup.patch b/gtk-vnc-0.2.0-coroutine-cleanup.patch deleted file mode 100644 index 0a91123..0000000 --- a/gtk-vnc-0.2.0-coroutine-cleanup.patch +++ /dev/null @@ -1,22 +0,0 @@ -changeset: 78:8d1799e6a392 -tag: tip -user: "Daniel P. Berrange " -date: Wed Oct 10 16:38:16 2007 -0400 -files: src/coroutine.c -description: -Clear coroutine caller when exiting coroutine - - -diff -r df7828ad6498 -r 8d1799e6a392 src/coroutine.c ---- a/src/coroutine.c Wed Oct 10 10:09:08 2007 -0300 -+++ b/src/coroutine.c Wed Oct 10 16:38:16 2007 -0400 -@@ -28,6 +28,8 @@ static int _coroutine_release(struct con - if (ret < 0) - return ret; - } -+ -+ co->caller = NULL; - - return munmap(cc->stack, cc->stack_size); - } - diff --git a/gtk-vnc-0.2.0-execmem.patch b/gtk-vnc-0.2.0-execmem.patch deleted file mode 100644 index 7daa194..0000000 --- a/gtk-vnc-0.2.0-execmem.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -rup gtk-vnc-0.2.0.orig/src/coroutine.c gtk-vnc-0.2.0.new/src/coroutine.c ---- gtk-vnc-0.2.0.orig/src/coroutine.c 2007-09-13 17:11:29.000000000 -0400 -+++ gtk-vnc-0.2.0.new/src/coroutine.c 2007-09-26 15:48:23.000000000 -0400 -@@ -44,8 +44,8 @@ int coroutine_init(struct coroutine *co) - - co->cc.stack_size = co->stack_size; - co->cc.stack = mmap(0, co->stack_size, -- PROT_READ | PROT_WRITE | PROT_EXEC, -- MAP_SHARED | MAP_ANONYMOUS | MAP_GROWSDOWN, -+ PROT_READ | PROT_WRITE, -+ MAP_PRIVATE | MAP_ANONYMOUS, - -1, 0); - if (co->cc.stack == MAP_FAILED) - return -1; diff --git a/gtk-vnc.spec b/gtk-vnc.spec index 3641eb9..b7c1948 100644 --- a/gtk-vnc.spec +++ b/gtk-vnc.spec @@ -2,14 +2,11 @@ Summary: A GTK widget for VNC clients Name: gtk-vnc -Version: 0.2.0 -Release: 4%{?dist} +Version: 0.3.1 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz -Patch1: %{name}-%{version}-execmem.patch -Patch2: %{name}-%{version}-coroutine-caller.patch -Patch3: %{name}-%{version}-coroutine-cleanup.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) URL: http://gtk-vnc.sf.net/ BuildRequires: gtk2-devel pygtk2-devel python-devel gnutls-devel @@ -44,9 +41,6 @@ A module allowing use of the GTK-VNC widget from python %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 %build %configure @@ -86,6 +80,9 @@ rm -fr %{buildroot} %{_libdir}/python*/site-packages/gtkvnc.so %changelog +* Thu Dec 13 2007 Daniel P. Berrange - 0.3.1-1.fc9 +- Update to 0.3.1 release + * Thu Oct 10 2007 Daniel P. Berrange - 0.2.0-4.fc8 - Fixed coroutine cleanup to avoid SEGV (rhbz #325731) diff --git a/sources b/sources index aabae96..62608da 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b1321a9e88e5309f09c4f727f5a367e6 gtk-vnc-0.2.0.tar.gz +00630dab5e6b0617e7baf320461d0127 gtk-vnc-0.3.1.tar.gz