OK, that's interestingly weird. There should be no requirement for that unless you use embedded HTTP server and set its Threaded property to true. Even if you forget to do so you should still get:
$ cat coba.pas
{$mode objfpc}
uses
BrookFCLHTTPAppBroker,BrookUtils,BrookApplication,BrookAction;
type
THelloAction = class(TBrookAction)
procedure Get; override;
end;
procedure THelloAction.Get;
begin
Write('Hello, World!');
end;
begin
THelloAction.Register('*');
BrookSettings.Port := 2345;
(BrookApp.Instance as TBrookHTTPApplication).Threaded := true;
BrookApp.Run;
end.
$ ./coba
Open the 'http://localhost:2345' URL in your browser.
Use [Ctrl+C] to quit ...
This binary has no thread support compiled in.
Recompile the application with a thread-driver in the program uses clause before other units using thread.
Runtime error 232 at $00000000004192BD
$00000000004192BD
$00000000004469C6
$00000000004006C8
$00000000004004DD
Let's just assume every system is unique (though that doesn't sound logically correct).