| Index: chrome/chrome_watcher/wait_chain_util_win.h
|
| diff --git a/chrome/chrome_watcher/wait_chain_util_win.h b/chrome/chrome_watcher/wait_chain_util_win.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a83636e5a2d509ab26e92d83d3694828256cb013
|
| --- /dev/null
|
| +++ b/chrome/chrome_watcher/wait_chain_util_win.h
|
| @@ -0,0 +1,26 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_CHROME_WATCHER_WAIT_CHAIN_UTIL_WIN_H_
|
| +#define CHROME_CHROME_WATCHER_WAIT_CHAIN_UTIL_WIN_H_
|
| +
|
| +#include <windows.h>
|
| +#include <wct.h>
|
| +
|
| +#include <vector>
|
| +
|
| +// Get the wait chain for the |thread_id|. Also specifies if the |wait_chain|
|
| +// contains a deadlock. Returns true on success.
|
| +//
|
| +// From MSDN: A wait chain is an alternating sequence of threads and
|
| +// synchronization objects; each thread waits for the object that follows it,
|
| +// which is owned by the subsequent thread in the chain.
|
| +bool GetThreadWaitChain(DWORD thread_id,
|
| + std::vector<WAITCHAIN_NODE_INFO>* wait_chain,
|
| + bool* is_deadlock);
|
| +
|
| +// Returns a string that represents the node for a wait chain.
|
| +std::wstring WaitChainNodeToString(const WAITCHAIN_NODE_INFO& node);
|
| +
|
| +#endif // CHROME_CHROME_WATCHER_WAIT_CHAIN_UTIL_WIN_H_
|
|
|