Xiaofeng Zhao wrote:
>> Since these variables are not handled by libpqxx but by the underlying
>> libpq,
>>
> 
> After a little bit of digging, I realized that.
> 
> Indeed, the output from the test program seemed to indicate the testing 
> (test004) should have passed:
> 
> Adding trigger...
> Sending notification...
> Received notification: trig pid=9754
> 
> 
> The program appeared to crash at the destructor of TriggerTest with a popup 
> including the following:
> 
> File: c:\program files\microsoft visual studio8\vc\include\xtree
> Line: 370
> 
> Expression: map/set iterator not incrementable
> 
> I think it's VC++8 specific issue.  Could even be some problem with my 
> installation.  I'll update when I get more information.

It looks like connection_base::RemoveTrigger() is failing. I guess we 
have R.second = R.first = m_Triggers.end(), in which case this line:

const TriggerList::iterator i = find(R.first, R.second, E);

may fail in some implementations, but definitely this one:

       if (m_Conn && (R.second == ++R.first))
         Exec(("UNLISTEN \"" + T->name() + "\"").c_str(), 0);

Jeroen? Any idea if this can ever happen?

Cheers,
Bart
_______________________________________________
Libpqxx-general mailing list
[email protected]
http://gborg.postgresql.org/mailman/listinfo/libpqxx-general

Reply via email to