Ticket #1201 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

Poco logging streams are not thread safe

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: major Milestone: Iteration 23
Component: Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

The stream buffer within Poco keeps a string buffer of all content passed to it until it reaches an EOL character. Writing to this buffer isn't protected by a mutex and as a result logging with the streams results in a crash when a loop is parallelized.

Change History

comment:1 Changed 10 years ago by Martyn Gigg

(In [4285]) Added a thread-safe logging stream which is compatible with our logging in our threaded loops. It is still not a good idea to log too heavily in parallized loops but at least this way it is safe. Re #1201

comment:2 Changed 10 years ago by Martyn Gigg

(In [4286]) Fix for systems without compiler that supports OpenMP. Re #1201

comment:3 Changed 10 years ago by Martyn Gigg

  • Status changed from new to accepted

comment:4 Changed 10 years ago by Martyn Gigg

  • Status changed from accepted to testing
  • Resolution set to fixed

comment:5 Changed 10 years ago by Martyn Gigg

  • Status changed from testing to closed

comment:6 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 2048

Note: See TracTickets for help on using tickets.