[ https://issues.apache.org/jira/browse/MESOS-3996?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anand Mazumdar updated MESOS-3996: ---------------------------------- Description: Current rules around this are pretty confusing and undocumented, as evidenced by some recent bugs in this area. Some example snippets in the mesos source code that were a result of this confusion and are indeed bugs: 1. https://github.com/apache/mesos/blob/master/src/slave/containerizer/mesos/provisioner/docker/registry_client.cpp#L754 {code} return doHttpGet(blobURL, None(), true, true, None()) .then([this, blobURLPath, digest, filePath]( const http::Response& response) -> Future<size_t> { Try<int> fd = os::open( filePath.value, O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); {code} was:Current rules around this are pretty confusing and undocumented, as evidenced by some recent bugs in this area. > libprocess: document when, why defer() is necessary > --------------------------------------------------- > > Key: MESOS-3996 > URL: https://issues.apache.org/jira/browse/MESOS-3996 > Project: Mesos > Issue Type: Documentation > Reporter: Neil Conway > Priority: Minor > Labels: documentation, libprocess, mesosphere > > Current rules around this are pretty confusing and undocumented, as evidenced > by some recent bugs in this area. > Some example snippets in the mesos source code that were a result of this > confusion and are indeed bugs: > 1. > https://github.com/apache/mesos/blob/master/src/slave/containerizer/mesos/provisioner/docker/registry_client.cpp#L754 > {code} > return doHttpGet(blobURL, None(), true, true, None()) > .then([this, blobURLPath, digest, filePath]( > const http::Response& response) -> Future<size_t> { > Try<int> fd = os::open( > filePath.value, > O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, > S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)