It's very hard to think of a case where a SIGSEGV in a C program could continue safely. It typically means pointer access out of bounds, which in turn is usually because some data structure has become corrupted.
My question is, where is this SEGV coming from? Is this a bug in the Oracle libraries? If so, you most likely want to find a way to work around that bug, to prevent the SEGV occurring in the first place. Does this SEGV occur when running a native C program which calls the ORA libraries in the same way? If not, why not? Could it be a threading issue, perhaps? Failing that, the only safe solution I can think of is to fork a child, run the Oracle client in the child, and communicate with the child over a socket (e.g. with gRPC). This would have the nice side-effect that the parent could be built without CGO; and if the child crashes, you can just fork and exec another one. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/abd759fe-90ec-47c6-a79b-12f82d9854e5o%40googlegroups.com.