|
1 | 1 | /* |
2 | | - * Copyright (c) 2012-2013 Cisco Systems, Inc. All rights reserved. |
| 2 | + * Copyright (c) 2012-2016 Cisco Systems, Inc. All rights reserved. |
3 | 3 | * Copyright (c) 2012 Los Alamos National Security, LLC. All rights reserved |
4 | 4 | * Copyright (c) 2014 Intel, Inc. All rights reserved |
5 | 5 | * $COPYRIGHT$ |
@@ -143,6 +143,11 @@ OBJ_CLASS_DECLARATION(opal_hotel_t); |
143 | 143 | * will be set - occupants will remain checked into the hotel until |
144 | 144 | * explicitly checked out. |
145 | 145 | * |
| 146 | + * Also note: the eviction_callback_fn should absolutely not call any |
| 147 | + * of the hotel checkout functions. Specifically: the occupant has |
| 148 | + * already been ("forcibly") checked out *before* the |
| 149 | + * eviction_callback_fn is invoked. |
| 150 | + * |
146 | 151 | * @return OPAL_SUCCESS if all initializations were succesful. Otherwise, |
147 | 152 | * the error indicate what went wrong in the function. |
148 | 153 | */ |
@@ -236,6 +241,9 @@ static inline void opal_hotel_checkout(opal_hotel_t *hotel, int room_num) |
236 | 241 | /* If there's an occupant in the room, check them out */ |
237 | 242 | room = &(hotel->rooms[room_num]); |
238 | 243 | if (OPAL_LIKELY(NULL != room->occupant)) { |
| 244 | + /* Do not change this logic without also changing the same |
| 245 | + logic in opal_hotel_checkout_and_return_occupant() and |
| 246 | + opal_hotel.c:local_eviction_callback(). */ |
239 | 247 | room->occupant = NULL; |
240 | 248 | opal_event_del(&(room->eviction_timer_event)); |
241 | 249 |
|
|
0 commit comments