Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Receiving partial buffer with mrecv #2

Open
subodhkalia opened this issue Dec 23, 2021 · 1 comment
Open

Receiving partial buffer with mrecv #2

subodhkalia opened this issue Dec 23, 2021 · 1 comment

Comments

@subodhkalia
Copy link

It's written in the documentation that there are no partial transfers: http:https://libdill.org/mrecv.html

However, I am receiving 236 bytes while I am expecting 1600000 bytes. The status code is 0 which means that the operation is successful.

Is there any references which I can look into?

I changed msend and mrecv in mod_dill.f90 to real c_double. The double array gets transferred from client to server without any issues but from server to client, the transfer is partial.

integer(c_size_t) function mrecv(s, buf, len, deadline) &
                  bind(c, name='dill_mrecv')
  import :: c_char, c_int, c_int64_t, c_size_t, **c_double**
  integer(c_int), value, intent(in) :: s
  **real(c_double), intent(in out) :: buf(*)**
  integer(c_size_t), value, intent(in) :: len
  integer(c_int64_t), value, intent(in) :: deadline
end function mrecv

integer(c_int) function msend(s, buf, len, deadline) &
               bind(c, name='dill_msend')
  import :: c_char, c_int, c_int64_t, c_size_t, **c_double**
  integer(c_int), value, intent(in) :: s
  **real(c_double), intent(in) :: buf(*)**
  integer(c_size_t), value, intent(in) :: len
  integer(c_int64_t), value, intent(in) :: deadline
end function msend
@milancurcic
Copy link
Member

Good question and I don't know. Have you tried reproducing this in C to isolate whether this happens in plain C dill or in the Fortran bindings?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants