--- projects/cms/source/host/ihost-perl/ihost.pl 2001/01/29 09:19:16 1.8
+++ projects/cms/source/host/ihost-perl/ihost.pl 2001/02/01 03:17:32 1.10
@@ -8,8 +8,8 @@
# methods as you see fit.
# - pjm2@ukc.ac.uk
#
-# $Author: pjm2 $
-# $Id: ihost.pl,v 1.8 2001/01/29 09:19:16 pjm2 Exp $
+# $Author: tdb $
+# $Id: ihost.pl,v 1.10 2001/02/01 03:17:32 tdb Exp $
#------------------------------------------------------------
$| = 1;
@@ -48,15 +48,25 @@ $seq_no = 1;
$last_udp_time = time;
$last_tcp_time = time;
while (1) {
- if (time >= $last_udp_time + $udp_update_time) {
+ my($time) = time;
+ if ($time >= $last_udp_time + $udp_update_time) {
&send_udp_packet();
- $last_udp_time = time;
+ $last_udp_time = $time;
}
- if (time >= $last_tcp_time + $tcp_update_time) {
+ if ($time >= $last_tcp_time + $tcp_update_time) {
&send_tcp_heartbeat();
- $last_tcp_time = time;
+ $last_tcp_time = $time;
}
- `sleep 1`;
+ my($next_udp) = $udp_update_time - $time + $last_udp_time;
+ my($next_tcp) = $tcp_update_time - $time + $last_tcp_time;
+ my($delay);
+ if ($next_udp < $next_tcp) {
+ $delay = $next_udp
+ }
+ else {
+ $delay = $next_tcp;
+ }
+ `sleep $delay`;
}
exit(0);
@@ -191,6 +201,7 @@ sub send_udp_packet() {
$packet{"packet.os.platform"}
$packet{"packet.os.sysname"}
$packet{"packet.os.version"}
+ $packet{"packet.os.uptime"}
$packet{"packet.users.count"}