Project

General

Profile

Actions

Bug #1073

closed

radix tree lookups are not thread safe

Added by Victor Julien over 10 years ago. Updated about 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

The radix tree stores user data. However, it had no function to return this data to the consumers of the API. Instead, on lookup, it would set a field "user_data_result" in the nodes prefix structure which could then be read by the caller.

Apart for this not being a very nice design as it exposes API internals to the caller, it is not thread safe. By updating the global data structure without any form (or suggestion) of locking, threads could overwrite the same field unexpectedly.

Actions

Also available in: Atom PDF