Пытаюсь заюзать механизм notify-listen, но никак не выходит. По заверешении пишет «Closing connection with outstanding listeners». Код примерно такой(выпилил проверку ошибок, чтобы не загромождать)
class DRM_KeyListener : public notify_listener
{
public:
DRM_KeyListener(connection &conn) : notify_listener(conn, "test_event"){};
virtual void operator()(int be_pid)
{
cout << "notify received! " << be_pid << endl;
};
};
int main(int argc, char **argv)
{
ostringstream conn_string("");
conn_string << "host=" << argv[1]
<< " user=" << argv[2]
<< " password=" << argv[3]
<< " dbname=" << argv[4];
pqxx::connection conn_for_listener(conn_string.str());
DRM_KeyListener* key_listener = new DRM_KeyListener(conn_for_listener);
pqxx::connection conn(conn_string.str());
pqxx::work xact(conn, "SampleSelect");
string produceEventQuery("SELECT test.produce_test_event()");
pqxx::result res = xact.exec(createKeyQuery);
return 0;
}