| 129 | |
| 130 | |
| 131 | static void logSecurityDatabaseError(const char* path, ISC_STATUS* status) |
| 132 | { |
| 133 | // If I/O error happened then rather likely we just miss standard security DB |
| 134 | // Since FB3 with its multiple security databases - not too big trouble |
| 135 | if (fb_utils::containsErrorCode(status, isc_io_error)) |
| 136 | return; |
| 137 | |
| 138 | Syslog::Record(Syslog::Error, "Security database error"); |
| 139 | gds__log_status(path, status); |
| 140 | if (isatty(2)) |
| 141 | { |
| 142 | gds__put_error(path); |
| 143 | gds__print_status(status); |
| 144 | } |
| 145 | |
| 146 | const int SHUTDOWN_TIMEOUT = 5000; // 5 sec |
| 147 | fb_shutdown(SHUTDOWN_TIMEOUT, fb_shutrsn_exit_called); |
| 148 | exit(STARTUP_ERROR); |
| 149 | } |
| 150 | |
| 151 | static int closePort(const int reason, const int, void* arg) |
| 152 | { |
no test coverage detected