Sha256: 26a0a5c657defd2e108c016aa2074695c7ec6eb8840e964469e878de31ad227e

Contents?: true

Size: 801 Bytes

Versions: 13

Compression:

Stored size: 801 Bytes

Contents

#ifndef RHO_POSIX_THREAD_IMPL_9e4b35f90ae146ae9c809ca56e4ef856
#define RHO_POSIX_THREAD_IMPL_9e4b35f90ae146ae9c809ca56e4ef856

#include "common/IRhoThreadImpl.h"
#include "logging/RhoLog.h"

namespace rho
{
namespace common
{

class CPosixThreadImpl : public IRhoThreadImpl
{
    DEFINE_LOGCLASS;
public:
    CPosixThreadImpl();
    ~CPosixThreadImpl();

    void start(IRhoRunnable *pRunnable, IRhoRunnable::EPriority ePriority);
    void stop(unsigned int nTimeoutToKill);
    void wait(unsigned int nTimeout);
    void stopWait();
    void sleep(unsigned int nTimeout);

private:
    pthread_cond_t m_condSync;
    common::CMutex m_mxSync;
    pthread_t m_thread;
    bool m_stop_wait;
};

} // namespace common
} // namespace rho

#endif // RHO_POSIX_THREAD_IMPL_9e4b35f90ae146ae9c809ca56e4ef856

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rhodes-2.2.4.beta.1 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.3 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.3.beta.1 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.2 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.2.beta.1 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.1 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.1.beta.2 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.1.beta.1 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.0 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.0.beta.3 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.0.beta.2 platform/shared/common/PosixThreadImpl.h
rhodes-2.2.0.beta.1 platform/shared/common/PosixThreadImpl.h
rhodes-2.1.0 platform/shared/common/PosixThreadImpl.h