1
1
openmpi/opal/class
Jeff Squyres 270cc11156 opal hotel: only delete events that have not yet fired
The eviction callback, for convenience (and to avoid code
duplication), use to call opal_hotel_checkout().  However,
opal_hotel_checkout() deletes the eviction event -- which is fine to
do when opal_hotel_checkout() is invoked by the application.  But when
it's invoked by the same event that it's deleting, it can cause Bad
Things to happen.

For simplicity, instead of invoking opal_hotel_checkout() from the
eviction callback, just duplicate the checkout logic into the eviction
callback function (and skip the delete-the-evict-event part).

For good measure, put a comment in all three places where the checkout
logic occurs (because it's inlined): don't change this logic without
changing all 3 places.

Finally, also add a line in the docs for opal_hotel_init() warning
users from calling opal_hotel_checkout() from their eviction
callback.
2016-01-13 10:59:06 -08:00
..
Makefile.am Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_bitmap.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_bitmap.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_fifo.c Add opal_fifo_t class 2014-12-04 15:30:02 -07:00
opal_fifo.h opal/fifo: if available use load-linked store-conditional 2015-08-18 14:01:52 -06:00
opal_free_list.c opal_free_list: fix strange size check 2015-11-09 19:47:55 -07:00
opal_free_list.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_graph.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_graph.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_hash_table.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_hash_table.h more c99 updates 2015-06-25 10:14:13 -06:00
opal_hotel.c opal hotel: only delete events that have not yet fired 2016-01-13 10:59:06 -08:00
opal_hotel.h opal hotel: only delete events that have not yet fired 2016-01-13 10:59:06 -08:00
opal_lifo.c Rename opal_atomic_lifo_t to opal_lifo_t and improve interface 2014-12-04 15:30:02 -07:00
opal_lifo.h opal/lifo: add load-linked store-conditional support 2015-08-18 14:01:52 -06:00
opal_list.c Revert " Releasing the list items when list destructor is called" 2015-10-27 15:24:48 -07:00
opal_list.h Modify the OPAL_LIST_RELEASE and OPAL_LIST_DESTRUCT macros to release the objects only when the list object is refcounted down to 1, which will then reach zero when destructed/released at the end of the macro 2015-10-27 16:42:46 -07:00
opal_object.c Merge pull request #517 from hjelmn/class_fix 2015-08-31 12:13:58 -07:00
opal_object.h opal/mutex: add static mutex initializers 2015-10-14 16:08:41 -06:00
opal_pointer_array.c Improving opal_pointer_array bounds checking (using 2015-07-23 11:53:16 -07:00
opal_pointer_array.h Improving opal_pointer_array bounds checking (using 2015-07-23 11:53:16 -07:00
opal_rb_tree.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_rb_tree.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_ring_buffer.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_ring_buffer.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_tree.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_tree.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_value_array.c Purge whitespace from the repo 2015-06-23 20:59:57 -07:00
opal_value_array.h Purge whitespace from the repo 2015-06-23 20:59:57 -07:00