aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2015-03-17 03:01:40 +0800
committermarino <marino@FreeBSD.org>2015-03-17 03:01:40 +0800
commitb69b425d3811d9951559e702116cf46d68267309 (patch)
tree5d9613ac9c90c99d680a737523b9540dad316d81
parent2fd7056a77023d711266a98bb486be2adf324bfa (diff)
downloadfreebsd-ports-graphics-b69b425d3811d9951559e702116cf46d68267309.tar.gz
freebsd-ports-graphics-b69b425d3811d9951559e702116cf46d68267309.tar.zst
freebsd-ports-graphics-b69b425d3811d9951559e702116cf46d68267309.zip
www/aws: Fix dispatcher-timer bug discovered by gcc5-aux
-rw-r--r--www/aws/Makefile2
-rw-r--r--www/aws/files/patch-src_extended_aws-services-dispatchers-timer.adb37
2 files changed, 38 insertions, 1 deletions
diff --git a/www/aws/Makefile b/www/aws/Makefile
index 10b4c15dec7..53184bd395c 100644
--- a/www/aws/Makefile
+++ b/www/aws/Makefile
@@ -3,7 +3,7 @@
PORTNAME= aws
PORTVERSION= 3.2.0.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= www
MASTER_SITES= http://downloads.dragonlace.net/src/
diff --git a/www/aws/files/patch-src_extended_aws-services-dispatchers-timer.adb b/www/aws/files/patch-src_extended_aws-services-dispatchers-timer.adb
new file mode 100644
index 00000000000..34373bacb4f
--- /dev/null
+++ b/www/aws/files/patch-src_extended_aws-services-dispatchers-timer.adb
@@ -0,0 +1,37 @@
+--- src/extended/aws-services-dispatchers-timer.adb.orig 2014-05-15 19:48:07 UTC
++++ src/extended/aws-services-dispatchers-timer.adb
+@@ -480,7 +480,11 @@ package body AWS.Services.Dispatchers.Ti
+
+ procedure Unregister
+ (Dispatcher : in out Handler;
+- Name : String) is
++ Name : String)
++ is
++ use type Period_Table.Cursor;
++
++ Pos : Period_table.Cursor := Period_Table.No_Element;
+ begin
+ for Cursor in Dispatcher.Table.Iterate loop
+ declare
+@@ -488,13 +492,18 @@ package body AWS.Services.Dispatchers.Ti
+ begin
+ if To_String (Item.Name) = Name then
+ Unchecked_Free (Item);
+- Period_Table.Delete (Dispatcher.Table, Cursor);
+- return;
++ Pos := Cursor;
++ exit;
+ end if;
+ end;
+ end loop;
+
+- raise Constraint_Error with "Timer distpatcher " & Name & " not found";
++ if Pos = Period_Table.No_Element then
++ raise Constraint_Error
++ with "Timer distpatcher " & Name & " not found";
++ else
++ Period_Table.Delete (Dispatcher.Table, Pos);
++ end if;
+ end Unregister;
+
+ ------------