Hello Fred,
Thanks you for sharing your UOS project !
I played a little with the example 'simpleplayer_noflat' and when I exit the application sometime it appear an SIGSEGV exception. I see in your code that you use Sleep before freeing the player:
procedure TForm1.FormDestroy(Sender: TObject);
begin
if (button3.Enabled = False) then
begin
button6.Click;
sleep(500); // <<<<<
end;
if button1.Enabled = False then
begin
PlayerIndex1.Free;
uos_free;
end;
end;
Is Sleep here to wait for the termination of the thread used by Tuos_Player ?
If yes, could you implement please, a proper way to quit the application without this problem ?
Searching in this forum I found this link, may be it can help.
https://forum.lazarus.freepascal.org/index.php/topic,39761.msg273898.htmlThanks
EDIT: I've changed sleep(500) to sleep(1000) and the exception doesn't raise any more