Bug 58039

Summary: [PATCH] Make D* functions thread safe
Product: POI Reporter: Patrick Böker <patrick.boeker>
Component: SS CommonAssignee: POI Developers List <dev>
Status: RESOLVED FIXED    
Severity: normal Keywords: PatchAvailable
Priority: P2    
Version: 3.13-dev   
Target Milestone: ---   
Hardware: PC   
OS: All   
Attachments: dstar_threading.patch

Description Patrick Böker 2015-06-16 10:28:30 UTC
Created attachment 32825 [details]
dstar_threading.patch

The DGet/DMin implementations relied on class variables. They thus unpredictably returned wrong values when using them in a multithreaded environment.
This patch fixes this.

The code is tested, but whether the multithreading issues I encountered are actually gone will only show in a week or two. It's a rather simple patch, so I'm quite confident anyways.
Comment 1 Patrick Böker 2015-06-18 15:15:36 UTC
Just noticed that this bug also affects non-threaded but nested uses of a D* function. This patch fixes these cases also.
Comment 2 Patrick Böker 2015-09-03 14:09:54 UTC
This patch has proven reliable in our production system over the past two months. Is there any reason for not merging?
Comment 3 David North 2015-09-03 15:58:08 UTC
Looks good to me. Merged with some minor tweaks in svn r1701055

Should be in the next beta release.