pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/50780: net/zeromq broken on NetBSD current



The following reply was made to PR pkg/50780; it has been noted by GNATS.

From: Yuval Langer <yuval.langer%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: pkg/50780: net/zeromq broken on NetBSD current
Date: Sun, 3 Apr 2016 01:10:57 +0300

 A new solution from riastradh%netbsd.org@localhost and kamil%netbsd.org@localhost (ryoshu):
 
 
 $NetBSD$
 
 --- src/thread.cpp.orig        2015-06-15 09:43:08.000000000 +0000
 +++ src/thread.cpp
 @@ -114,26 +114,28 @@ void zmq::thread_t::stop ()
 
  void zmq::thread_t::setSchedulingParameters(int priority_, int
 schedulingPolicy_)
  {
  #if !defined ZMQ_HAVE_ZOS
      int policy = 0;
      struct sched_param param;
 
      int rc = pthread_getschedparam(descriptor, &policy, &param);
      posix_assert (rc);
 
      if(priority_ != -1)
      {
          param.sched_priority = priority_;
      }
 
      if(schedulingPolicy_ != -1)
      {
          policy = schedulingPolicy_;
      }
 
 +    if(policy == SCHED_OTHER) priority = PRI_NONE;
 +
      rc = pthread_setschedparam(descriptor, policy, &param);
      posix_assert (rc);
  #endif
  }
 
  #endif
 
 On 3 April 2016 at 00:40, Yuval Langer <yuval.langer%gmail.com@localhost> wrote:
 > I have received the following possible solution to this problem from ryoshu:
 >
 > $NetBSD$
 >
 > --- src/thread.cpp.orig        2015-06-15 09:43:08.000000000 +0000
 > +++ src/thread.cpp
 > @@ -114,26 +114,28 @@ void zmq::thread_t::stop ()
 >
 >  void zmq::thread_t::setSchedulingParameters(int priority_, int
 > schedulingPolicy_)
 >  {
 >  #if !defined ZMQ_HAVE_ZOS
 >      int policy = 0;
 >      struct sched_param param;
 >
 >      int rc = pthread_getschedparam(descriptor, &policy, &param);
 >      posix_assert (rc);
 >
 >      if(priority_ != -1)
 >      {
 >          param.sched_priority = priority_;
 >      }
 >
 >      if(schedulingPolicy_ != -1)
 >      {
 >          policy = schedulingPolicy_;
 >      }
 >
 > +    if(policy == SCHED_OTHER) return;
 > +
 >      rc = pthread_setschedparam(descriptor, policy, &param);
 >      posix_assert (rc);
 >  #endif
 >  }
 >
 >  #endif
 


Home | Main Index | Thread Index | Old Index