| Index: base/win/scoped_process_information.cc
|
| diff --git a/base/win/scoped_process_information.cc b/base/win/scoped_process_information.cc
|
| index cb7a30e2f542b4ca1426b3e2ab4de67a667bc5d8..bb2463774a8a326ffb769d7aadf6852bf53e802f 100644
|
| --- a/base/win/scoped_process_information.cc
|
| +++ b/base/win/scoped_process_information.cc
|
| @@ -15,7 +15,7 @@ namespace {
|
| // Duplicates source into target, returning true upon success. |target| is
|
| // guaranteed to be untouched in case of failure. Succeeds with no side-effects
|
| // if source is NULL.
|
| -bool CheckAndDuplicateHandle(HANDLE source, HANDLE* target) {
|
| +bool CheckAndDuplicateHandle(HANDLE source, ScopedHandle* target) {
|
| if (!source)
|
| return true;
|
|
|
| @@ -26,7 +26,7 @@ bool CheckAndDuplicateHandle(HANDLE source, HANDLE* target) {
|
| DPLOG(ERROR) << "Failed to duplicate a handle.";
|
| return false;
|
| }
|
| - *target = temp;
|
| + target->Set(temp);
|
| return true;
|
| }
|
|
|
| @@ -36,13 +36,13 @@ ScopedProcessInformation::ScopedProcessInformation()
|
| : process_id_(0), thread_id_(0) {
|
| }
|
|
|
| -ScopedProcessInformation::~ScopedProcessInformation() {
|
| - Close();
|
| +ScopedProcessInformation::ScopedProcessInformation(
|
| + const PROCESS_INFORMATION& process_info) : process_id_(0), thread_id_(0) {
|
| + Set(process_info);
|
| }
|
|
|
| -ScopedProcessInformation::Receiver ScopedProcessInformation::Receive() {
|
| - DCHECK(!IsValid()) << "process_information_ must be NULL";
|
| - return Receiver(this);
|
| +ScopedProcessInformation::~ScopedProcessInformation() {
|
| + Close();
|
| }
|
|
|
| bool ScopedProcessInformation::IsValid() const {
|
| @@ -72,10 +72,8 @@ bool ScopedProcessInformation::DuplicateFrom(
|
| DCHECK(!IsValid()) << "target ScopedProcessInformation must be NULL";
|
| DCHECK(other.IsValid()) << "source ScopedProcessInformation must be valid";
|
|
|
| - if (CheckAndDuplicateHandle(other.process_handle(),
|
| - process_handle_.Receive()) &&
|
| - CheckAndDuplicateHandle(other.thread_handle(),
|
| - thread_handle_.Receive())) {
|
| + if (CheckAndDuplicateHandle(other.process_handle(), &process_handle_) &&
|
| + CheckAndDuplicateHandle(other.thread_handle(), &thread_handle_)) {
|
| process_id_ = other.process_id();
|
| thread_id_ = other.thread_id();
|
| return true;
|
|
|