Exit code means? */
| 457 | |
| 458 | /* Exit code means? */ |
| 459 | static int32_t |
| 460 | pcmk_ipc_dispatch(qb_ipcs_connection_t *c, void *data, size_t size) |
| 461 | { |
| 462 | uint32_t id = 0; |
| 463 | uint32_t flags = 0; |
| 464 | const char *task = NULL; |
| 465 | xmlNode *msg = crm_ipcs_recv(c, data, size, &id, &flags); |
| 466 | |
| 467 | crm_trace("Message from %p", c); |
| 468 | if(flags & crm_ipc_client_response) { |
| 469 | crm_ipcs_send_ack(c, id, "ack", __FUNCTION__, __LINE__); |
| 470 | } |
| 471 | |
| 472 | if (msg == NULL) { |
| 473 | return 0; |
| 474 | } |
| 475 | |
| 476 | task = crm_element_value(msg, F_CRM_TASK); |
| 477 | if(crm_str_eq(task, CRM_OP_QUIT, TRUE)) { |
| 478 | /* Time to quit */ |
| 479 | crm_notice("Shutting down in responce to ticket %s (%s)", |
| 480 | crm_element_value(msg, F_CRM_REFERENCE), |
| 481 | crm_element_value(msg, F_CRM_ORIGIN)); |
| 482 | pcmk_shutdown(15); |
| 483 | |
| 484 | } else { |
| 485 | /* Just send to everyone */ |
| 486 | update_process_clients(); |
| 487 | } |
| 488 | |
| 489 | free_xml(msg); |
| 490 | return 0; |
| 491 | } |
| 492 | |
| 493 | /* Error code means? */ |
| 494 | static int32_t |
nothing calls this directly
no test coverage detected