The Unidata Local Data Manager (LDM) system includes network client and server programs designed for event-driven data distribution, and is the fundamental component of the Unidata Internet Data Distribution (IDD) system.
In ticket GNY-856216, Gilbert reported that pqact(1) received a SIGSEGV -- apparently due to a decoder not existing. This might be due to pqact/filel.c accessing an entry after it's been freed by delete_entry(). The following might help:
*_open() functions should modify entry atomically.
free_fl_entry() shouldn't call entry->ops->close() and delete_entry() should.
The fl_ops.close() function should remove the entry and free it.
Upon failure, the fl_ops.sync() and fl_ops.put() functions should remove the entry and free it.
In ticket GNY-856216, Gilbert reported that
pqact(1)
received aSIGSEGV
-- apparently due to a decoder not existing. This might be due topqact/filel.c
accessing anentry
after it's been freed bydelete_entry()
. The following might help:*_open()
functions should modifyentry
atomically.free_fl_entry()
shouldn't callentry->ops->close()
anddelete_entry()
should.fl_ops.close()
function should remove the entry and free it.fl_ops.sync()
andfl_ops.put()
functions should remove the entry and free it.