| 1752 | } |
| 1753 | |
| 1754 | static void |
| 1755 | pe_post_notify(resource_t * rsc, node_t * node, notify_data_t * n_data, pe_working_set_t * data_set) |
| 1756 | { |
| 1757 | action_t *notify = NULL; |
| 1758 | |
| 1759 | CRM_CHECK(rsc != NULL, return); |
| 1760 | |
| 1761 | if (n_data->post == NULL) { |
| 1762 | return; /* Nothing to do */ |
| 1763 | } |
| 1764 | |
| 1765 | notify = pe_notify(rsc, node, n_data->post, n_data->post_done, n_data, data_set); |
| 1766 | |
| 1767 | if (notify != NULL) { |
| 1768 | notify->priority = INFINITY; |
| 1769 | } |
| 1770 | |
| 1771 | if (n_data->post_done) { |
| 1772 | GListPtr gIter = rsc->actions; |
| 1773 | |
| 1774 | for (; gIter != NULL; gIter = gIter->next) { |
| 1775 | action_t *mon = (action_t *) gIter->data; |
| 1776 | const char *interval = g_hash_table_lookup(mon->meta, "interval"); |
| 1777 | |
| 1778 | if (interval == NULL || safe_str_eq(interval, "0")) { |
| 1779 | pe_rsc_trace(rsc, "Skipping %s: interval", mon->uuid); |
| 1780 | continue; |
| 1781 | } else if (safe_str_eq(mon->task, "cancel")) { |
| 1782 | pe_rsc_trace(rsc, "Skipping %s: cancel", mon->uuid); |
| 1783 | continue; |
| 1784 | } |
| 1785 | |
| 1786 | order_actions(n_data->post_done, mon, pe_order_optional); |
| 1787 | } |
| 1788 | } |
| 1789 | } |
| 1790 | |
| 1791 | notify_data_t * |
| 1792 | create_notification_boundaries(resource_t * rsc, const char *action, action_t * start, |
no test coverage detected