From 2dd38c0bdbebab6ca766b0784475ef7e1be1e9bc Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 1 Aug 2016 20:31:23 +0200 Subject: [PATCH] Corrected linger bug --- plugins/Full_CI_ZMQ/selection.irp.f | 4 ++-- src/ZMQ/utils.irp.f | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/plugins/Full_CI_ZMQ/selection.irp.f b/plugins/Full_CI_ZMQ/selection.irp.f index ba6c7c73..e39ebd6b 100644 --- a/plugins/Full_CI_ZMQ/selection.irp.f +++ b/plugins/Full_CI_ZMQ/selection.irp.f @@ -19,7 +19,7 @@ subroutine selection_slaved(thread,iproc) integer, intent(in) :: thread, iproc integer :: rc, i - integer :: worker_id, task_id(1), ctask, ltask + integer :: worker_id, task_id(10), ctask, ltask character*(512) :: task integer(ZMQ_PTR),external :: new_zmq_to_qp_run_socket @@ -293,7 +293,7 @@ subroutine selection_collector(b, pt2) end do do i=1, ntask - if(task_id(i) == 0) stop "collector" + if(task_id(i) == 0) stop "Error in collector" call zmq_delete_task(zmq_to_qp_run_socket,zmq_socket_pull,task_id(i),more) end do done += ntask diff --git a/src/ZMQ/utils.irp.f b/src/ZMQ/utils.irp.f index 30dee670..9fa70d5e 100644 --- a/src/ZMQ/utils.irp.f +++ b/src/ZMQ/utils.irp.f @@ -394,10 +394,10 @@ subroutine end_zmq_pair_socket(zmq_socket_pair) ! stop 'error' ! endif - rc = f77_zmq_setsockopt(zmq_socket_pair,ZMQ_LINGER,0,4) - if (rc /= 0) then - stop 'Unable to set ZMQ_LINGER on zmq_socket_pair' - endif +! rc = f77_zmq_setsockopt(zmq_socket_pair,0ZMQ_LINGER,1000,4) +! if (rc /= 0) then +! stop 'Unable to set ZMQ_LINGER on zmq_socket_pair' +! endif rc = f77_zmq_close(zmq_socket_pair) if (rc /= 0) then @@ -433,10 +433,10 @@ subroutine end_zmq_pull_socket(zmq_socket_pull) call sleep(1) ! see https://github.com/zeromq/libzmq/issues/1922 - rc = f77_zmq_setsockopt(zmq_socket_pull,ZMQ_LINGER,0,4) - if (rc /= 0) then - stop 'Unable to set ZMQ_LINGER on zmq_socket_pull' - endif +! rc = f77_zmq_setsockopt(zmq_socket_pull,ZMQ_LINGER,10000,4) +! if (rc /= 0) then +! stop 'Unable to set ZMQ_LINGER on zmq_socket_pull' +! endif rc = f77_zmq_close(zmq_socket_pull) if (rc /= 0) then @@ -473,10 +473,10 @@ subroutine end_zmq_push_socket(zmq_socket_push,thread) endif - rc = f77_zmq_setsockopt(zmq_socket_push,ZMQ_LINGER,0,4) - if (rc /= 0) then - stop 'Unable to set ZMQ_LINGER on push socket' - endif +! rc = f77_zmq_setsockopt(zmq_socket_push,ZMQ_LINGER,20000,4) +! if (rc /= 0) then +! stop 'Unable to set ZMQ_LINGER on push socket' +! endif rc = f77_zmq_close(zmq_socket_push) if (rc /= 0) then @@ -805,7 +805,7 @@ subroutine end_zmq_to_qp_run_socket(zmq_to_qp_run_socket) ! stop 'error' ! endif - rc = f77_zmq_setsockopt(zmq_to_qp_run_socket,ZMQ_LINGER,0,4) + rc = f77_zmq_setsockopt(zmq_to_qp_run_socket,ZMQ_LINGER,1000,4) if (rc /= 0) then stop 'Unable to set ZMQ_LINGER on zmq_to_qp_run_socket' endif