-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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
put(RemoteRef(), obj) semantics are troublesome #5819
Comments
I assume the problem with anonymous functions is #5775? (since we can pass anonymous functions between processes that have the same top-level environment) |
Also, I don't fully understand the problem. Is the return value of |
Yes indeed, sorry I didn't spell that out.
Yes, I was including the remoteref as an argument to a function. To work around #5775, my current strategy (which doesn't require any modifications to Julia base) is to define
and then I can call functions in "foreign" modules in other processes as
where |
Reading this comment over again, let me make sure I'm being clear:
returns
I assumed that |
Ah, ok. Changing it would probably be fine; the return value is not even documented. |
Great. And how do you feel about changing |
Re: naming, see also #5511 |
@simonster, thanks for the link (I just haven't paid enough attention to everything going on...) To avoid a troublesome merge for either Amit or myself, I'll wait until there's a verdict on #5757 before renaming |
Thanks, Jeff. I didn't want to mess Amit up, but I agree this was good to fix. Sorry this fell on you. |
I expected
put
to work likepush!
, and so had code like this:However, unlike
push!
, this doesn't return the container (theRemoteRef
), it returns the object. Since we can't currently pass anonymous functions between processes, this caused some hard-to-decipher hangs and error messages.Is it conceivable to change it to
put!
and have it return theRemoteRef
?The text was updated successfully, but these errors were encountered: