클라이언트 응용프로그램은 명령 롤 토토를 요청할 수 있습니다 함수를 사용하여 서버에서 아직 처리 중입니다. 이 섹션에 설명되어 있습니다.
PQgetCancel정보를 포함하는 데이터 구조를 생성합니다 특정 명령을 통해 실행된 명령을 취소하는 데 필요함 데이터베이스 연결.
PGcancel *PQgetCancel(PGconn *conn);
PQgetCancel생성PG롤 토토객체 주어진 aPGconn연결 개체. 돌아올 것이다
주어진 경우 NULL콘NULL입니다
또는 잘못된 연결입니다.PG롤 토토객체가 불투명한 구조입니다.
이는 사용자가 직접 액세스할 수는 없습니다.
신청; 오직 전달될 수 있습니다.PQ롤 토토또는PQfree롤 토토.
PQfree롤 토토다음에 의해 생성된 데이터 구조를 해제합니다.PQgetCancel.
void PQfreeCancel(PGcancel *cancel);
PQfree롤 토토데이터를 해제합니다.
이전에 생성된 개체PQgetCancel.
PQ롤 토토서버가 처리를 중단하도록 요청합니다. 현재 명령입니다.
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize);
취소 요청이 다음과 같은 경우 반환 값은 1입니다. 성공적으로 발송되었으며 그렇지 않은 경우 0입니다. 그렇지 않다면,errbuf오류 메시지로 가득 차 있습니다 이유를 설명합니다.errbuf반드시 크기의 문자 배열이어야 합니다.errbufsize(권장 크기는 256입니다. 바이트).
성공적인 파견이 요청이 보장되지는 않습니다. 그러나 어떤 영향을 미칠 것입니다. 취소인 경우 효과가 있으면 현재 명령이 조기에 종료되고 오류 결과를 반환합니다. 취소에 실패한 경우(예: 서버가 이미 처리를 완료했기 때문에 명령), 그러면 눈에 띄는 결과가 전혀 표시되지 않습니다.
PQ롤 토토안전하게 할 수 있어요
다음과 같은 경우 신호 처리기에서 호출됩니다.errbuf은 신호의 지역 변수입니다.
핸들러.PG롤 토토객체는
읽기 전용입니다.PQ롤 토토관련되어 있으므로 다음 스레드에서도 호출할 수 있습니다.
을 조작하는 것과는 별개입니다.PGconn객체.
PQ요청롤 토토서버가 처리를 중단하도록 요청합니다. 현재 명령입니다.
int PQrequestCancel(PGconn *conn);
PQ요청롤 토토은
더 이상 사용되지 않는 변형PQ롤 토토. 에서 직접 운영됩니다.PGconn객체, 그리고 다음의 경우
실패는 오류 메시지를에 저장합니다.PGconn객체(검색할 수 있는 위치)
으로PQerrorMessage). 비록
기능은 동일하지만 이 접근 방식을 사용하면
다중 스레드 프로그램 및 신호 처리기에 대한 위험
덮어쓰기가 가능하기 때문에PGconn의 오류 메시지로 인해
현재 연결 작업이 진행 중입니다.