| 1858 | |
| 1859 | |
| 1860 | static void openssl_lock(int mode, openssl_lock_t *lock, const char *file, |
| 1861 | int line) |
| 1862 | { |
| 1863 | int err; |
| 1864 | char const *what; |
| 1865 | |
| 1866 | switch (mode) { |
| 1867 | case CRYPTO_LOCK|CRYPTO_READ: |
| 1868 | what = "read lock"; |
| 1869 | err= mysql_rwlock_rdlock(&lock->lock); |
| 1870 | break; |
| 1871 | case CRYPTO_LOCK|CRYPTO_WRITE: |
| 1872 | what = "write lock"; |
| 1873 | err= mysql_rwlock_wrlock(&lock->lock); |
| 1874 | break; |
| 1875 | case CRYPTO_UNLOCK|CRYPTO_READ: |
| 1876 | case CRYPTO_UNLOCK|CRYPTO_WRITE: |
| 1877 | what = "unlock"; |
| 1878 | err= mysql_rwlock_unlock(&lock->lock); |
| 1879 | break; |
| 1880 | default: |
| 1881 | /* Unknown locking mode. */ |
| 1882 | sql_print_error("Fatal: OpenSSL interface problem (mode=0x%x)", mode); |
| 1883 | abort(); |
| 1884 | } |
| 1885 | if (err) |
| 1886 | { |
| 1887 | sql_print_error("Fatal: can't %s OpenSSL lock", what); |
| 1888 | abort(); |
| 1889 | } |
| 1890 | } |
| 1891 | #endif /* HAVE_OPENSSL */ |
| 1892 | |
| 1893 | static int init_server_components() |
no test coverage detected