Search Issue Tracker

Fixed

Fixed in 1.8.0

Votes

0

Found in [Package]

1.8.0

Issue ID

ISXB-726

Regression

No

Race condition in DefferedResolutionOfBindings

Package: Input System

-

There is a potential race condition in DefferedResolutionOfBindings

[https://github.com/Unity-Technologies/InputSystem/blob/ab1b38a7b88a23a72fa519f66ed2fd345d85b373/Packages/com.unity.inputsystem/InputSystem/Actions/InputActionState.cs#L4444]

 

There are 2 calls to {{.Target}} per loop - those won’t be inlined so if you could do the lookup once you can cut the locks taken in half.  Also not re-checking the result of {{.Target}} on line 4464 is a race condition - a GC could occur between that line the check on 4444.

 

  1. Resolution Note (fix version 1.8.0):

    Reduced gchandle resolution from 2 calls to 1 to both improve performance and fix a potential race condition

Add comment

Log in to post comment