Page Speed Optimization Libraries
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Friends | List of all members
net_instaweb::PthreadThreadSystem Class Reference
Inheritance diagram for net_instaweb::PthreadThreadSystem:
net_instaweb::ThreadSystem net_instaweb::SystemThreadSystem net_instaweb::ApacheThreadSystem

Public Member Functions

virtual CondvarCapableMutexNewMutex ()
virtual RWLockNewRWLock ()
virtual TimerNewTimer ()
virtual ThreadIdGetThreadId () const

Protected Member Functions

virtual void BeforeThreadRunHook ()


class PthreadThreadImpl

Additional Inherited Members

- Public Types inherited from net_instaweb::ThreadSystem
enum  ThreadFlags { kDetached = 0, kJoinable = 1 }

Member Function Documentation

virtual void net_instaweb::PthreadThreadSystem::BeforeThreadRunHook ( )

This hook will get invoked by the implementation in the context of a thread before invoking its Run() method.

Reimplemented in net_instaweb::SystemThreadSystem.

virtual ThreadId* net_instaweb::PthreadThreadSystem::GetThreadId ( ) const

Returns an object holding the current thread ID. The resultant object must be freed by the caller.

Implements net_instaweb::ThreadSystem.

virtual CondvarCapableMutex* net_instaweb::PthreadThreadSystem::NewMutex ( )

Makes a new mutex for this system.

See also CondvarCapableMutex::NewCondvar.

Implements net_instaweb::ThreadSystem.

virtual RWLock* net_instaweb::PthreadThreadSystem::NewRWLock ( )

This lock will provide following guarantee -

  • Reader reentrant safe.
  • Writer Priority, this ensures no writer starvation.

Implements net_instaweb::ThreadSystem.

virtual Timer* net_instaweb::PthreadThreadSystem::NewTimer ( )

Creates and returns a real-time timer. Caller is responsible for deleting.

TODO(jmarantz): consider removing this and controlling timers separately.

Implements net_instaweb::ThreadSystem.

Reimplemented in net_instaweb::ApacheThreadSystem.

The documentation for this class was generated from the following file: