34 #include "platform.hpp" 36 #ifdef ZMQ_HAVE_WINDOWS 40 #if defined _WIN32_WCE 47 self->
tfn (self->arg);
56 #if defined _WIN32_WCE 68 DWORD rc = WaitForSingleObject (
descriptor, INFINITE);
69 win_assert (rc != WAIT_FAILED);
71 win_assert (rc2 != 0);
90 #if !defined ZMQ_HAVE_OPENVMS && !defined ZMQ_HAVE_ANDROID 94 int rc = sigfillset (&signal_set);
96 rc = pthread_sigmask (SIG_BLOCK, &signal_set, NULL);
101 self->
tfn (self->arg);
122 #if defined _POSIX_THREAD_PRIORITY_SCHEDULING && _POSIX_THREAD_PRIORITY_SCHEDULING >= 0 124 struct sched_param param;
126 #if _POSIX_THREAD_PRIORITY_SCHEDULING == 0 && defined _SC_THREAD_PRIORITY_SCHEDULING 127 if (sysconf(_SC_THREAD_PRIORITY_SCHEDULING) < 0) {
131 int rc = pthread_getschedparam(
descriptor, &policy, ¶m);
136 param.sched_priority = priority_;
139 if(schedulingPolicy_ != -1)
141 policy = schedulingPolicy_;
145 if(policy == SCHED_OTHER) param.sched_priority = -1;
148 rc = pthread_setschedparam(
descriptor, policy, ¶m);
void start(thread_fn *tfn_, void *arg_)
static void * thread_routine(void *arg_)
void setSchedulingParameters(int priority_, int schedulingPolicy_)
#define LIBZMQ_UNUSED(object)