PQcancel
功能描述
要求服务器放弃处理当前命令。
接口原型
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize);
参数说明
参数 | 描述 |
---|---|
cancel | 由PQgetCancel接口返回的PGcancel类型对象。 |
errbuf | 如果不成功,则errbuf 里面会填充解释的错误消息。errbuf必须是一个大小为errbufsize 的 char 数组(建议大小为 256 字节)。 |
errbufsize | errbuf的长度。 |
返回值
如果取消请求成功发送,则返回值为 1,否则为 0。
其他
成功发送取消请求并不保证请求会有任何效果。如果取消生效, 那么当前的命令将提前结束并且返回一个错误的结果。如果取消失败(也就是说, 因为服务器已经完成命令的处理),那么就根本不会有可见的结果。如果errbuf是信号句柄里的一个局部变量,那么PQcancel 可以在一个信号句柄里安全地调用。在PQcancel涉及的范围里, PGcancel对象都是只读的, 因此我们也可以从一个与处理PGconn 对象的线程分离的线程里处理它。