On Thu, 30 Mar 2017, Michael Van Canneyt wrote:



On Thu, 30 Mar 2017, Krzysztof wrote:

2017-03-30 15:19 GMT+02:00 Michael Van Canneyt <mich...@freepascal.org>


Nevertheless, that should work.

I've used it in multi-threaded apache modules.


Well it doesn't work or fpjson module is not thread safe in this case. You
can test it by yourself with attached demo (first post). Try it few times
because sometimes if you are lucky then there is no error

If I find a moment, I will test.

I can reproduce the problem.

At least partially it is related to the threads mechanism not being initialized
correctly.

To fix that, you can do the following. In the library startup code, create a dummy thread. This will initialize the threads mechanism:

library testlib;

{$mode objfpc}{$H+}

uses
  cthreads, cmem, Classes, testlibu;

exports
  InitTest, FinalizeTest, Test;


begin
  with TThread.Create(False) do

end.


After this, I no longer get the problem (which doesn't mean there are no
other possible problems :) )

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to