OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 * Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 | 7 |
8 // This module defines the interface for interacting with platform specific | 8 // This module defines the interface for interacting with platform specific |
9 // threads . This API provides a mechanism to query for a thread, by using | 9 // threads . This API provides a mechanism to query for a thread, by using |
10 // the acquire method with the ID of a pre-existing thread. The register | 10 // the acquire method with the ID of a pre-existing thread. The register |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 namespace port { | 25 namespace port { |
26 | 26 |
27 class IThread { | 27 class IThread { |
28 public: | 28 public: |
29 enum State { | 29 enum State { |
30 DEAD =-1, // The thread has exited or been killed | 30 DEAD =-1, // The thread has exited or been killed |
31 RUNNING = 0, // The thread is currently running | 31 RUNNING = 0, // The thread is currently running |
32 SUSPENDED= 1, // The thread has been suspended | 32 SUSPENDED= 1, // The thread has been suspended |
33 SIGNALED = 2, // The thread is signaled | 33 SIGNALED = 2, // The thread is signaled |
34 SYSCALL = 3 // In a sys call, it's registers can not be modified. | 34 SYSCALL = 3 // In a sys call, its registers can not be modified. |
35 }; | 35 }; |
36 | 36 |
37 typedef void (*CatchFunc_t)(uint32_t id, int8_t sig, void *cookie); | 37 typedef void (*CatchFunc_t)(uint32_t id, int8_t sig, void *cookie); |
38 typedef std::map<uint32_t, IThread*> ThreadMap_t; | 38 typedef std::map<uint32_t, IThread*> ThreadMap_t; |
39 | 39 |
40 virtual uint32_t GetId() = 0; | 40 virtual uint32_t GetId() = 0; |
41 virtual State GetState() = 0; | 41 virtual State GetState() = 0; |
42 | 42 |
43 virtual bool SetStep(bool on) = 0; | 43 virtual bool SetStep(bool on) = 0; |
44 | 44 |
(...skipping 10 matching lines...) Expand all Loading... |
55 static void SetExceptionCatch(CatchFunc_t func, void *cookie); | 55 static void SetExceptionCatch(CatchFunc_t func, void *cookie); |
56 | 56 |
57 protected: | 57 protected: |
58 virtual ~IThread() {} // Prevent delete of base pointer | 58 virtual ~IThread() {} // Prevent delete of base pointer |
59 }; | 59 }; |
60 | 60 |
61 } // namespace port | 61 } // namespace port |
62 | 62 |
63 #endif // PORT_THREAD_H_ | 63 #endif // PORT_THREAD_H_ |
64 | 64 |
OLD | NEW |