Subject Strange works with signals in UDF (in Firebird for Linux)
Author Ivan Zelensky
Hello!
My question addressed to Firebird developers and developers of UDF who had
same problem.

I'm writing UDF (C++, Linux), that uses POSIX-sockets for TCP-connection and
POSIX-signals (SIGALRM) to implement timeouts for this connection. See
sample code in attachment.
As you can see, I try to terminate connection using SIGALRM. And it works
correctly when function called from my own application (using dlopen/dlsym
that also used for udf-calling in Firebird, isn't it?)
But when I call this function from Firebird i have problem. Signal-handler
still called, but connect() doesn't terminate.
So, that's my question: what I did uncorrectly and what can I do to
implement this connection timeout?
Thanks,
Ivan Zelenskyy.


[Non-text portions of this message have been removed]