diff --git a/modules/libjar/nsIJARChannel.idl b/modules/libjar/nsIJARChannel.idl index 0ecdf1df8654..aef430c68f41 100644 --- a/modules/libjar/nsIJARChannel.idl +++ b/modules/libjar/nsIJARChannel.idl @@ -39,13 +39,6 @@ interface nsIJARChannel : nsIChannel * For child process, set this to make sure that a valid file descriptor of * JAR file is always provided when calling NSPRFileDesc(). * Must be set before Open() or AsyncOpen() to be effective. - * - * Note that the file descriptor returned by NSPRFileDesc() is duplicated - * from the original, which shares its file offset with the original. If - * the file offset is modified (ex: by lseek/read/write) on one of the - * shared descriptors, the offset is also changed for the other. - * It can be safely used only with operations that take absolute offsets, - * such as mmap/pread/pwrite. */ void ensureChildFd(); }; diff --git a/netwerk/ipc/RemoteOpenFileChild.h b/netwerk/ipc/RemoteOpenFileChild.h index c73adc22408d..808e1c73c30f 100644 --- a/netwerk/ipc/RemoteOpenFileChild.h +++ b/netwerk/ipc/RemoteOpenFileChild.h @@ -32,15 +32,13 @@ namespace net { * * To open a file handle with this class, AsyncRemoteFileOpen() must be called * first. After the listener's OnRemoteFileOpenComplete() is called, if the - * result is NS_OK, nsIFile.OpenNSPRFileDesc() may be called to get a - * duplicated file descriptor. + * result is NS_OK, nsIFile.OpenNSPRFileDesc() may be called--once--to get the + * file handle. * - * Note that the file descriptor returned by NSPRFileDesc() is duplicated from - * the original, which shares its file offset with the original. If the file - * offset is modified (ex: by lseek/read/write) on one of the shared - * descriptors, the offset is also changed for the other. It can be safely - * used only with operations that take absolute offsets, such as - * mmap/pread/pwrite. + * Note that calling Clone() on this class results in the filehandle ownership + * being passed on to the new RemoteOpenFileChild. I.e. if + * OnRemoteFileOpenComplete is called and then Clone(), OpenNSPRFileDesc() will + * work in the cloned object, but not in the original. * * This class should only be instantiated in a child process. *