* SetCancelConn * * Set cancelConn to point to the current database connection. */
| 74 | * Set cancelConn to point to the current database connection. |
| 75 | */ |
| 76 | void |
| 77 | SetCancelConn(PGconn *conn) |
| 78 | { |
| 79 | PGcancel *oldCancelConn; |
| 80 | |
| 81 | #ifdef WIN32 |
| 82 | EnterCriticalSection(&cancelConnLock); |
| 83 | #endif |
| 84 | |
| 85 | /* Free the old one if we have one */ |
| 86 | oldCancelConn = cancelConn; |
| 87 | |
| 88 | /* be sure handle_sigint doesn't use pointer while freeing */ |
| 89 | cancelConn = NULL; |
| 90 | |
| 91 | if (oldCancelConn != NULL) |
| 92 | PQfreeCancel(oldCancelConn); |
| 93 | |
| 94 | cancelConn = PQgetCancel(conn); |
| 95 | |
| 96 | #ifdef WIN32 |
| 97 | LeaveCriticalSection(&cancelConnLock); |
| 98 | #endif |
| 99 | } |
| 100 | |
| 101 | /* |
| 102 | * ResetCancelConn |
no test coverage detected