Issue 419: Ensure correct/portable behavior of upcxx::initialized() in static destructors

Merged
#286 · Created  · Last updated

Merged pull request

Merge pull request #286 into develop

35ecaef·Author: ·Closed by: ·2020-10-02

Description

Status

This PR is only intended to address ONE of the surprising behaviors described in issue 419. This defect had the potential for cascading misbehaviors, especially for static destructors that invoke UPC++ operations whose behavior implicitly depends on library initialization state (notably destructors for collective object types).

The rest of the surprising behaviors described in issue 419 are mostly induced by GASNet-level implementation details, and are OUTSIDE the scope of this PR.

Ready for review.

Commits

  • add issue419 test

  • issue 419: tweak backend::init_count around gex_Client_Init()

    This fixes surprising behavior (5) listed in issue 419, so that static destructors no longer report upcxx::initialized() == true for UPC++ jobs launched using ssh-spawner.

0 attachments

0 comments

Loading commits...