Changeset 20115 in webkit for trunk/JavaScriptCore/kjs/JSLock.h
- Timestamp:
- Mar 12, 2007, 8:09:37 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSLock.h
r20104 r20115 31 31 // To make it safe to use JavaScript on multiple threads, it is 32 32 // important to lock before doing anything that allocates a 33 // garbage-collected object or which may affect other shared state 34 // such as the protect count hash table. The simplest way to do 35 // this is by having a local JSLock object for the scope 36 // where the lock must be held. The lock is recursive so nesting 37 // is ok. 33 // JavaScript data structure or that interacts with shared state 34 // such as the protect count hash table. The simplest way to lock 35 // is to create a local JSLock object in the scope where the lock 36 // must be held. The lock is recursive so nesting is ok. The JSLock 37 // object also acts as a convenience short-hand for running important 38 // initialization routines. 38 39 39 40 // To avoid deadlock, sometimes it is necessary to temporarily … … 48 49 class JSLock : Noncopyable { 49 50 public: 50 JSLock() 51 JSLock() 51 52 { 52 53 lock(); 54 registerThread(); 53 55 } 54 56 … … 61 63 static void unlock(); 62 64 static int lockCount(); 65 66 static void registerThread(); 63 67 64 68 class DropAllLocks : Noncopyable {
Note:
See TracChangeset
for help on using the changeset viewer.