rpms/xen/F-7 xen-qemu-vnc-delete.patch, NONE, 1.1 .cvsignore, 1.31, 1.32 sources, 1.46, 1.47 xen.spec, 1.177, 1.178

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Fri May 25 15:03:22 UTC 2007


Author: berrange

Update of /cvs/pkgs/rpms/xen/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31368

Modified Files:
	.cvsignore sources xen.spec 
Added Files:
	xen-qemu-vnc-delete.patch 
Log Message:
Update to 3.1.0 official release. fix vnc bug during disconnect

xen-qemu-vnc-delete.patch:

--- NEW FILE xen-qemu-vnc-delete.patch ---
diff -rup xen-3.1.0-testing.hg-rc7.orig/tools/ioemu/vl.c xen-3.1.0-testing.hg-rc7.new/tools/ioemu/vl.c
--- xen-3.1.0-testing.hg-rc7.orig/tools/ioemu/vl.c	2007-05-03 12:49:28.000000000 -0400
+++ xen-3.1.0-testing.hg-rc7.new/tools/ioemu/vl.c	2007-05-25 10:31:28.000000000 -0400
@@ -4124,6 +4124,7 @@ typedef struct IOHandlerRecord {
     IOCanRWHandler *fd_read_poll;
     IOHandler *fd_read;
     IOHandler *fd_write;
+    int deleted;
     void *opaque;
     /* temporary data */
     struct pollfd *ufd;
@@ -4149,8 +4150,7 @@ int qemu_set_fd_handler2(int fd, 
             if (ioh == NULL)
                 break;
             if (ioh->fd == fd) {
-                *pioh = ioh->next;
-                qemu_free(ioh);
+                ioh->deleted = 1;
                 break;
             }
             pioh = &ioh->next;
@@ -4171,6 +4171,7 @@ int qemu_set_fd_handler2(int fd, 
         ioh->fd_read = fd_read;
         ioh->fd_write = fd_write;
         ioh->opaque = opaque;
+        ioh->deleted = 0;
     }
     return 0;
 }
@@ -5153,7 +5154,7 @@ void qemu_system_powerdown_request(void)
 
 void main_loop_wait(int timeout)
 {
-    IOHandlerRecord *ioh, *ioh_next;
+    IOHandlerRecord *ioh;
     fd_set rfds, wfds, xfds;
     int ret, nfds;
     struct timeval tv;
@@ -5188,6 +5189,8 @@ void main_loop_wait(int timeout)
     FD_ZERO(&wfds);
     FD_ZERO(&xfds);
     for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next) {
+        if (ioh->deleted)
+            continue;
         if (ioh->fd_read &&
             (!ioh->fd_read_poll ||
              ioh->fd_read_poll(ioh->opaque) != 0)) {
@@ -5215,9 +5218,11 @@ void main_loop_wait(int timeout)
 #endif
     ret = select(nfds + 1, &rfds, &wfds, &xfds, &tv);
     if (ret > 0) {
-        /* XXX: better handling of removal */
-        for(ioh = first_io_handler; ioh != NULL; ioh = ioh_next) {
-            ioh_next = ioh->next;
+        IOHandlerRecord **pioh;
+
+        for(ioh = first_io_handler; ioh != NULL; ioh = ioh->next) {
+            if (ioh->deleted)
+                continue;
             if (ioh->fd_read && FD_ISSET(ioh->fd, &rfds)) {
                 ioh->fd_read(ioh->opaque);
             }
@@ -5225,6 +5230,17 @@ void main_loop_wait(int timeout)
                 ioh->fd_write(ioh->opaque);
             }
         }
+
+	/* remove deleted IO handlers */
+	pioh = &first_io_handler;
+	while (*pioh) {
+            ioh = *pioh;
+            if (ioh->deleted) {
+                *pioh = ioh->next;
+                qemu_free(ioh);
+            } else 
+                pioh = &ioh->next;
+        }
     }
 #if defined(CONFIG_SLIRP)
     if (slirp_inited) {
Only in xen-3.1.0-testing.hg-rc7.new/tools/ioemu: vl.c~
Only in xen-3.1.0-testing.hg-rc7.new/tools/ioemu: vl.c.orig
Only in xen-3.1.0-testing.hg-rc7.new/tools/ioemu: vl.c.rej


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/xen/F-7/.cvsignore,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- .cvsignore	4 May 2007 14:14:50 -0000	1.31
+++ .cvsignore	25 May 2007 15:02:47 -0000	1.32
@@ -1,2 +1,2 @@
 LibVNCServer-0.8.2.tar.gz
-xen-3.1.0-testing.hg-rc7.tar.gz
+xen-3.1.0-src.tgz


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/xen/F-7/sources,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- sources	4 May 2007 14:14:50 -0000	1.46
+++ sources	25 May 2007 15:02:47 -0000	1.47
@@ -1,2 +1,2 @@
 17a18e398af6c1730f72068022a152aa  LibVNCServer-0.8.2.tar.gz
-2d980c589c2428258b247d44e9bfa27a  xen-3.1.0-testing.hg-rc7.tar.gz
+b7ae1f652b071862ae4c90b72d549627  xen-3.1.0-src.tgz


Index: xen.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xen/F-7/xen.spec,v
retrieving revision 1.177
retrieving revision 1.178
diff -u -r1.177 -r1.178
--- xen.spec	17 May 2007 23:09:31 -0000	1.177
+++ xen.spec	25 May 2007 15:02:47 -0000	1.178
@@ -3,11 +3,11 @@
 Summary: Xen is a virtual machine monitor
 Name:    xen
 Version: 3.1.0
-Release: 0.rc7.2%{dist}
+Release: 1%{dist}
 Group:   Development/Libraries
 License: GPL
 URL:     http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html
-Source0: %{name}-%{version}-testing.hg-rc7.tar.gz
+Source0: %{name}-%{version}-src.tgz
 Source1: http://download.sf.net/libvncserver/LibVNCServer-0.8.2.tar.gz
 Patch1: xen-initscript.patch
 Patch2: xen-remove-python-path-check.patch
@@ -20,6 +20,7 @@
 Patch20: xen-blktap-no-aio-epoll.patch
 Patch21: xen-blktap-error-returns.patch
 Patch24: xen-remove-vnc-monitor.patch
+Patch25: xen-qemu-vnc-delete.patch
 
 # Patches to modify the default config of xend
 Patch100: xen-config-dom0-minmem.patch
@@ -95,7 +96,7 @@
 virtual machines. 
 
 %prep
-%setup -q -n %{name}-%{version}-testing.hg-rc7 -a 1
+%setup -q -n %{name}-%{version}-src -a 1
 %patch1 -p1 -b .init
 %patch2 -p1
 %patch3 -p1 -b .compile
@@ -104,10 +105,10 @@
 %patch18 -p1
 %patch19 -p1
 
-# blktap patches
 %patch20 -p1
 %patch21 -p1
 %patch24 -p1
+%patch25 -p1
 
 # config patches
 %patch100 -p1
@@ -247,6 +248,10 @@
 %{_libdir}/*.a
 
 %changelog
+* Fri May 25 2007 Daniel P. Berrange <berrange at redhat.com> - 3.1.0-1.fc7
+- Updated to official 3.1.0 tar.gz
+- Fixed data corruption from VNC client disconnect (bz 241303)
+
 * Thu May 17 2007 Daniel P. Berrange <berrange at redhat.com> - 3.1.0-0.rc7.2.fc7
 - Ensure xen-vncfb processes are cleanedup if guest quits (bz 240406)
 - Tear down guest if device hotplug fails




More information about the fedora-extras-commits mailing list