title: Not receiving notifications using pqxx::notification_receiver
body: <p>I have set up a trigger and tested using pgadmin4 (using LISTEN) that changes to my table get notified.  The expectation is that a web interface may make changes to settings and my backend code must pick up on thos changes and apply.  </p>
  
  <p>I created a small class (functions are inlined) extending the notification receiver class.</p>
  
  <pre><code>    class SettingsChangeListener: public pqxx::notification_receiver
  {
  public:
    SettingsChangeListener(pqxx::connection_base &amp;c);
    virtual void operator()(const std::string &amp;payload, int backend_pid)
    throw ();
  
    void RegisterParentData(SINT32 queueId, UINT32 eventID);
  
  private:
    SINT32 m_parentQueueHandle; // handle to the parent's message queue
    UINT32 m_eventID; // event to send to the parent on notification
  };
  
  inline SettingsChangeListener::SettingsChangeListener(pqxx::connection_base &amp;c)
     : pqxx::notification_receiver(c, "settings_changed"), m_parentQueueHandle(0), m_eventID(0)
  {
  
  }
  
  inline void SettingsChangeListener::operator()(const std::string &amp;payload, int backend_pid)
  throw ()
  {
     if (m_parentQueueHandle &gt; 0)
     {
        LOG_SYSTEM_INFO("Detected Change in Settings\n");
        // don't need the notification text - notify parent that the data has changed
        CmnMessage msg;
        msg.SetMessageID(m_eventID);
        msg.SetMessageType(MESSAGE_TYPE_Local);
        msg.SetMessageSource(MODULE_DATABASE);
  
        MsgQueueMessage msgToSend;
        size_t size = msg.Export(msgToSend);
  
        if (FAIL == msgsnd(m_parentQueueHandle, &amp;msgToSend, size, IPC_NOWAIT))
        {
           LOG_SYSTEM_ERROR("FAILED to send message on queue : %s\n", strerror(errno));
        }
     }
  }
  
  inline void SettingsChangeListener::RegisterParentData(SINT32 queueId, UINT32 eventID)
  {
     m_parentQueueHandle = msgget(queueId, IPC_CREAT | MSGQ_CREAT_PERMISSION);
     m_eventID = eventID;
  }
  </code></pre>
  
  <p>In one of my other classes I included a member of the SettingsChangeListener and initialize in the constructor of that class.  </p>
  
  <pre><code>MyClass::MyClass()
      : m_connection(DB_CONNECTION_STRING.c_str()), m_settingsDbAdapter(m_connection), m_settingsChangeListener(m_connection)
  </code></pre>
  
  <p>{
  }</p>
  
  <p>The connection and member persist for the duration of the application.  The DB Adapter is a class the manages the settings table (add/update/delete/get) and works with no issue.</p>
  
  <p>I put a breakpoint in the operator()() and it never gets hit and I never see the notification.  I set a breakpoint and confirmed that the registration of parent data occurred as expected.  </p>
  
  <p>This is my first time using pqxx and not all functions seem as straightforward to implement.  I am thinking that there is something simple I am missing but I just cannot find it.</p>