Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(237)

Side by Side Diff: ipc/ipc_channel.h

Issue 11722017: Use an explicit PID for duplicating Pepper handles rather than the Channel's. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_view_pepper_helper.h ('k') | ppapi/proxy/broker_dispatcher.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef IPC_IPC_CHANNEL_H_ 5 #ifndef IPC_IPC_CHANNEL_H_
6 #define IPC_IPC_CHANNEL_H_ 6 #define IPC_IPC_CHANNEL_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #if defined(OS_POSIX) 10 #if defined(OS_POSIX)
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 // On POSIX calling close on an IPC channel that listens for connections will 122 // On POSIX calling close on an IPC channel that listens for connections will
123 // cause it to close any accepted connections, and it will stop listening for 123 // cause it to close any accepted connections, and it will stop listening for
124 // new connections. If you just want to close the currently accepted 124 // new connections. If you just want to close the currently accepted
125 // connection and listen for new ones, use ResetToAcceptingConnectionState. 125 // connection and listen for new ones, use ResetToAcceptingConnectionState.
126 void Close(); 126 void Close();
127 127
128 // Modify the Channel's listener. 128 // Modify the Channel's listener.
129 void set_listener(Listener* listener); 129 void set_listener(Listener* listener);
130 130
131 // Get the process ID for the connected peer. 131 // Get the process ID for the connected peer.
132 // Returns base::kNullProcessId if the peer is not connected yet. 132 //
133 // Returns base::kNullProcessId if the peer is not connected yet. Watch out
134 // for race conditions. You can easily get a channel to another process, but
135 // if your process has not yet processed the "hello" message from the remote
136 // side, this will fail. You should either make sure calling this is either
137 // in response to a message from the remote side (which guarantees that it's
138 // been connected), or you wait for the "connected" notification on the
139 // listener.
133 base::ProcessId peer_pid() const; 140 base::ProcessId peer_pid() const;
134 141
135 // Send a message over the Channel to the listener on the other end. 142 // Send a message over the Channel to the listener on the other end.
136 // 143 //
137 // |message| must be allocated using operator new. This object will be 144 // |message| must be allocated using operator new. This object will be
138 // deleted once the contents of the Message have been sent. 145 // deleted once the contents of the Message have been sent.
139 virtual bool Send(Message* message) OVERRIDE; 146 virtual bool Send(Message* message) OVERRIDE;
140 147
141 #if defined(OS_POSIX) 148 #if defined(OS_POSIX)
142 // On POSIX an IPC::Channel wraps a socketpair(), this method returns the 149 // On POSIX an IPC::Channel wraps a socketpair(), this method returns the
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 209
203 private: 210 private:
204 // PIMPL to which all channel calls are delegated. 211 // PIMPL to which all channel calls are delegated.
205 class ChannelImpl; 212 class ChannelImpl;
206 ChannelImpl *channel_impl_; 213 ChannelImpl *channel_impl_;
207 }; 214 };
208 215
209 } // namespace IPC 216 } // namespace IPC
210 217
211 #endif // IPC_IPC_CHANNEL_H_ 218 #endif // IPC_IPC_CHANNEL_H_
OLDNEW
« no previous file with comments | « content/renderer/render_view_pepper_helper.h ('k') | ppapi/proxy/broker_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698