Witam,
Użycie we własnej funkcji UDF funkcji system() lub execl() powoduje wykrzaczenie się procesu serwera (chodzi to na Linuxie).
Podane do nich polecenia się wykonują ale na końcu jest zwałka jak poniżej.

Statement failed, SQLSTATE = 08006
Error reading data from the connection.

Ten sam kod skompilowany do programu wykonywalnego działa w shell-u bez zarzutu na użytkowniku firebird.

Funkcja ma wykonywać polecenia systemowe (arg1) oraz robić zrzutę do pliku (arg2) a zwracać numerek zwracany przez
funkcję system(). Wszystko zrobi tylko nie zdoła zwrócić wartości bo jest krach.

DECLARE EXTERNAL FUNCTION SYSTEM
CSTRING(1024), CSTRING(256)
RETURNS Integer BY VALUE
ENTRY_POINT 'system'
MODULE_NAME 'jakistamudf';

Jej wersja bez logowania też powoduje błąd tak więc wykluczam błędy w przekierowaniach stdoutów itd.
Czy to na jakimś oddzielnym wątku trzeba puścić czy co, sam już nie wiem.