Skip to content

Commit

Permalink
feed event client ack into the event master queue from listener threads
Browse files Browse the repository at this point in the history
  • Loading branch information
jgabler-hpc committed Sep 13, 2024
1 parent 1e7478f commit 71e9222
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions source/daemons/qmaster/sge_qmaster_process_message.cc
Original file line number Diff line number Diff line change
Expand Up @@ -158,10 +158,19 @@ do_c_ack_request(struct_msg_t *message, monitoring_t *monitor) {
}

// store the request for a handling thread
// sge_c_ack() will be called by the worker thread to execute the ACK request stored here
lList *ack_list = lCreateList("ACK list", lGetElemDescr(ack));
lAppendElem(ack_list, ack);
ocs_store_packet(message, ack_list, PACKET_ACK_REQUEST);
if (ack_tag == ACK_EVENT_DELIVERY) {
// event ACKs are handled in the event master thread
// sge_handle_event_ack stores them into the event master message queue
u_long32 ack_ulong = lGetUlong(ack, ACK_id);
u_long32 ack_ulong2 = lGetUlong(ack, ACK_id2);
sge_handle_event_ack(ack_ulong2, (ev_event) ack_ulong);
lFreeElem(&ack);
} else {
// sge_c_ack() will be called by the worker thread to execute the ACK request stored here
lList *ack_list = lCreateList("ACK list", lGetElemDescr(ack));
lAppendElem(ack_list, ack);
ocs_store_packet(message, ack_list, PACKET_ACK_REQUEST);
}
}
}

Expand Down

0 comments on commit 71e9222

Please sign in to comment.