Branch: Tag:

2019-03-19

2019-03-19 09:50:30 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Thread.Farm: Added ResultWrapper.

This is a wrapper for the Result class to detect when the user
loses its reference to it, in order to not lose reports of any
errors from the worker threads.

13:    "\"____Regexp_PCRE\"": "predef::Regexp.PCRE._Regexp_PCRE":1,    ".Helper": "predef::Protocols.LysKOM.ProtocolTypes":1, "predef::Protocols.LysKOM.Request":1,    "7.9::": "7.8::":1, "7.8::GTK":1, "7.8::Protocols.DNS":1, "7.8::SSL.Cipher":1, "7.8::SSL.https":1, "7.8::files":1, -  "ADT.CritBit.FloatTree.Iterator": "predef::ADT.CritBit.FloatTree":1, -  "ADT.CritBit.IPv4Tree.Iterator": "predef::ADT.CritBit.IPv4Tree":1, -  "ADT.CritBit.IntTree.Iterator": "predef::ADT.CritBit.IntTree":1, -  "ADT.CritBit.StringTree.Iterator": "predef::ADT.CritBit.StringTree":1, +  "ADT.CritBit.FloatTree.Iterator ": "predef::ADT.CritBit.FloatTree":1, +  "ADT.CritBit.IPv4Tree.Iterator ": "predef::ADT.CritBit.IPv4Tree":1, +  "ADT.CritBit.IntTree.Iterator ": "predef::ADT.CritBit.IntTree":1, +  "ADT.CritBit.StringTree.Iterator ": "predef::ADT.CritBit.StringTree":1,    "ADT.Interval": "predef::ADT.CritBit.RangeSet":1,    "ASCIIDec": "7.4::Locale.Charset.ascii":1,    "ATclient": "predef::Protocols.OBEX.Client":1,
30:    "Calendar_I.time_unit": "predef::Calendar_I.Gregorian.Year":1,    "CipherState": "predef::Crypto.Cipher.`()":1,    "Clist": "predef::GTKSupport.SClist":2, +  "Concurrent.Future": "predef::Thread.Farm.Result":1,    "Conference.create_text()": "predef::Protocols.LysKOM.Session.create_text":1,    "Configuration::Session": "predef::ZXID.Configuration.Session":1,    "Cookie": "predef::Protocols.HTTP.Session.set_cookie":1,
207:    "Sql.dsn": "predef::Odbc.odbc":2,    "Sql.mysql_result": "predef::Mysql.SqlTable.Result":1,    "Sql.odbc": "predef::Odbc.odbc":2, +  "Sql.oracle": "predef::Oracle.oracle":1,    "Sql.query": "predef::Mysql.SqlTable.Result.fetch":2,    "Standards.ASN1.Decode.constructed": "predef::Standards.ASN1.Decode.der_decode":1, "predef::Standards.ASN1.Decode.simple_der_decode":1,    "Standards.ASN1.Sequence": "predef::Tools.X509.verify_certificate_chain":2,
248:    "_Stdio.UDP": "predef::Stdio.UDP":1,    "_WhiteFish.Blobs": "predef::Search.MergeFile.write_blobs":1,    "___MIME": "predef::MIME":1, +  "__builtin.Sql.Connection": "predef::":1, "predef::Oracle.oracle":1, +  "__builtin.Sql.Result": "predef::Oracle.oracle.compile_query.TypedResult":1,    "__joinnode": "predef::Local":1,    "_debug": "predef::Debug.dump_backlog":1,    "_port": "predef::Stdio.Port":1,
261:    "atexit": "lfun::destroy":1,    "attr": "predef::Stdio.File.tcgetattr":1,    "backtrace_frame": "predef::Error.Generic":1, "predef::Error.Generic.create":1, "predef::MasterObject.describe_backtrace":1, +  "bool": "predef::HTTPAccept.Loop.create":1, "predef::HTTPAccept.Loop.logp":1,    "bpn": "predef::Image._XPM._xpm_write_rows":1,    "calendar.time.set_timezone": "predef::Calendar.Timezone":1,    "call_sync()": "predef::Remote.Client.create":1,
486:   "lfun::_serialize": "Serializer.Serializable" "Serializer.Serializable()->_serialize()" "Serializer.serialize()"   "lfun::`+=": "this_program"   "lfun::destroy": "atexit" - "predef::": "tokenize()" "tokenize_labled()" + "predef::": "__builtin.Sql.Connection" "tokenize()" "tokenize_labled()"   "predef::ADT": "_ADT"   "predef::ADT.CritBit.DateTree": "C::IntTree"   "predef::ADT.CritBit.DateTree.decode_key": "Calendar.TimeRange" - "predef::ADT.CritBit.FloatTree": "ADT.CritBit.FloatTree.Iterator" + "predef::ADT.CritBit.FloatTree": "ADT.CritBit.FloatTree.Iterator "   "predef::ADT.CritBit.FloatTree.encode_key": "lfun::_hash()" - "predef::ADT.CritBit.IPv4Tree": "ADT.CritBit.IPv4Tree.Iterator" + "predef::ADT.CritBit.IPv4Tree": "ADT.CritBit.IPv4Tree.Iterator "   "predef::ADT.CritBit.IPv4Tree.encode_key": "lfun::_hash()" - "predef::ADT.CritBit.IntTree": "ADT.CritBit.IntTree.Iterator" + "predef::ADT.CritBit.IntTree": "ADT.CritBit.IntTree.Iterator "   "predef::ADT.CritBit.IntTree.encode_key": "lfun::_hash()"   "predef::ADT.CritBit.RangeSet": "ADT.Interval" - "predef::ADT.CritBit.StringTree": "ADT.CritBit.StringTree.Iterator" + "predef::ADT.CritBit.StringTree": "ADT.CritBit.StringTree.Iterator "   "predef::ADT.CritBit.StringTree.encode_key": "lfun::_hash()"   "predef::Arg.Options": "LowOptions"   "predef::Builtin.Setter._get_setter": "mixed_void"
835:   "predef::Git.Export.notemodify": "data"   "predef::Git.Export.tag": "format_author()"   "predef::Gz": "\"___Gz\"" + "predef::HTTPAccept.Loop.create": "bool" + "predef::HTTPAccept.Loop.logp": "bool"   "predef::Image.AVS.decode": "mapping " "object " "string "   "predef::Image.BMP.decode": "mapping " "object "   "predef::Image.BMP.encode": "string "
1029:   "predef::Mysql.mysql_result.create": "Mysql.mysql->big_query()"   "predef::Mysql.mysql_result.fetch_json_result": "set_unicode_decode_mode"   "predef::Odbc.odbc": "Sql.dsn" "Sql.odbc" + "predef::Oracle.oracle": "Sql.oracle" "__builtin.Sql.Connection" + "predef::Oracle.oracle.compile_query.TypedResult": "__builtin.Sql.Result"   "predef::Parser.RCS": "Parser._RCS"   "predef::Parser.RCS.Revision": "Calendar.TimeRange" "prev"   "predef::Parser.XML.SloppyDOM": "Parser.XML.DOM"
1156:   "predef::System.resolvepath": "pathname"   "predef::System.strftime": "Gettext.setlocale"   "predef::System.utime": "System.set_file_atime" "System.set_file_mtime" + "predef::Thread.Farm.Result": "Concurrent.Future"   "predef::Tools.AutoDoc": "MirarDocParser" "Tools.Standalone.extract_autodoc()"   "predef::Tools.AutoDoc.DocParser.splitDocBlock": "Parse::create()"   "predef::Tools.AutoDoc.ProcessXML.postProcess": "cleanUndocumented()" "resolveRefs()"