Branch: Tag:

2020-09-08

2020-09-08 20:50:39 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Concurrent: Move handling of aggregated promises to AggregatePromise.

This simplifies the code for promises that do not use aggregation,
and avoids bugs when aggregation functions are used in combination
with non-aggregation functions.

227:    "PikeCompiler()->report()": "predef::Reporter.report":1,    "Pike_compiler()->get_default_module()": "predef::CompilerEnvironment.get_default_module":1,    "Process.RemoteProcess": "predef::Tools.Standalone.forkd":1, +  "Promise.depend()": "predef::Concurrent.all":1, "predef::Concurrent.results":1, +  "Promise.first_completed()": "predef::Concurrent.first_completed":1, "predef::Concurrent.race":1,    "Protocol": "predef::Protocols.SMTP.Client":1,    "Protocol.LDAP.parse_ldap_url": "predef::Protocols.LDAP.client.create":1,    "ProtocolTypes.AuxItemInput": "predef::Protocols.LysKOM.Session.AuxItemInput":1,
442:    "format_author()": "predef::Git.Export.commit":1, "predef::Git.Export.tag":1,    "from": "predef::Stdio.sendfile":5,    "functionof()": "predef::Encoder.nameof":1, -  "futures": "predef::Concurrent.Promise.fold":1, +  "futures": "predef::Concurrent.AggregatedPromise.fold":1,    "gauge": "predef::System":3, "predef::gethrvtime":1,    "gauge()": "predef::gethrvtime":1,    "get_codec_params()": "predef::_Ffmpeg.ffmpeg.set_codec_param":1,
805:   "predef::CompilerEnvironment.PikeCompiler": "::this_program"   "predef::CompilerEnvironment.PikeCompiler.resolv": "sym"   "predef::CompilerEnvironment.get_default_module": "Pike_compiler()->get_default_module()" - "predef::Concurrent.Promise.fold": "futures" + "predef::Concurrent.AggregatedPromise.fold": "futures" + "predef::Concurrent.all": "Promise.depend()" + "predef::Concurrent.first_completed": "Promise.first_completed()" + "predef::Concurrent.race": "Promise.first_completed()"   "predef::Concurrent.resolve": "on_success" -  + "predef::Concurrent.results": "Promise.depend()"   "predef::Crypto": "Buffer" "CAMELLIA" "CAMELLIA.EAX"   "predef::Crypto.ChaCha20.POLY1305": "CHACHA"   "predef::Crypto.DH.Parameters.create": "DSA_State"