[pve-devel] r5473 - in pve-common/trunk/data: . PVE

svn-commits at proxmox.com svn-commits at proxmox.com
Wed Feb 2 08:47:03 CET 2011


Author: dietmar
Date: 2011-02-02 08:47:03 +0100 (Wed, 02 Feb 2011)
New Revision: 5473

Modified:
   pve-common/trunk/data/ChangeLog
   pve-common/trunk/data/PVE/Tools.pm
Log:


Modified: pve-common/trunk/data/ChangeLog
===================================================================
--- pve-common/trunk/data/ChangeLog	2011-02-01 11:44:52 UTC (rev 5472)
+++ pve-common/trunk/data/ChangeLog	2011-02-02 07:47:03 UTC (rev 5473)
@@ -1,3 +1,7 @@
+2011-02-02  Proxmox Support Team  <support at proxmox.com>
+
+	* PVE/Tools.pm (next_vnc_port): moved from qemu-server
+
 2011-01-28  Proxmox Support Team  <support at proxmox.com>
 
 	* PVE/SafeSyslog.pm (initlog): enable default for facility.

Modified: pve-common/trunk/data/PVE/Tools.pm
===================================================================
--- pve-common/trunk/data/PVE/Tools.pm	2011-02-01 11:44:52 UTC (rev 5472)
+++ pve-common/trunk/data/PVE/Tools.pm	2011-02-02 07:47:03 UTC (rev 5473)
@@ -2,6 +2,7 @@
 
 use strict;
 use POSIX;
+use IO::Socket::INET;
 use IO::Select;
 use IO::File;
 use IPC::Open3;
@@ -398,4 +399,23 @@
     return $res;
 }
 
+sub next_vnc_port {
+
+    for (my $p = 5900; $p < 6000; $p++) {
+
+	my $sock = IO::Socket::INET->new (Listen => 5,
+					  LocalAddr => 'localhost',
+					  LocalPort => $p,
+					  ReuseAddr => 1,
+					  Proto     => 0);
+
+	if ($sock) {
+	    close ($sock);
+	    return $p;
+	}
+    }
+
+    die "unable to find free vnc port";
+};
+
 1;



More information about the pve-devel mailing list