anchor.diff:    integer(ZMQ_PTR), external     :: new_zmq_push_socket
     integer(ZMQ_PTR)               :: zmq_socket_push
   
  -  type(selection_buffer) :: buf
  +  type(selection_buffer) :: buf, buf2
     logical :: done
     double precision :: pt2(N_states)
   
  
positive.code:       end do
        if(ctask > 0) then
          call push_selection_results(zmq_socket_push, pt2, buf, task_id(1), ctask)
          pt2 = 0d0
          buf%cur = 0
        end if
  
        ctask = 0
      end if
  
  
negative.code:       integer :: i_generator, N
        read (task,*) i_generator, N
        if(buf%N == 0) then
          ! Only first time 
          call create_selection_buffer(N, N*2, buf)
          call create_selection_buffer(N, N*3, buf2)
        else
          if(N /= buf%N) stop "N changed... wtf man??"
        end if
  