Re: pthread and perfly
Phil Keslin (philk++at++cthulhu.engr.sgi.com)
Fri, 11 Dec 1998 08:51:31 -0800
Marc Erich Latoschik wrote:
>
> Phil Keslin wrote:
> >
> > Greg Harrison wrote:
> > >
> > > I hit the same problem and the answer is an unfortunate one. If you do a
> > > 'man pthreads' under the section "Limitations" you get the joy of reading
> > > the following message:
> > > " Using sprocs
> > > The sproc(2) model of threading is incompatible with POSIX
> > > threads.
> > > Attempts by an sproc process to create pthreads and vice-versa
> > > will
> > > be rejected."
> > >
> > > By rejected they mean crash, because it will. For as much as SGI says on
> > > their own site (http://www.sgi.com/developers/marketing/forums/multi_thd)
> > > that pthreads are better (they are), everything in Performer is implemented
> > > with sproc() and therefore pthreads can't be linked in the same app, the
> > > only way to use them would be through a separate program and shared memory.
> > > OpenGL 1.1 is pthread compliant, but Performer will not allow them.
> > > Hopefully SGI will listen to their own PR about threads ("think pthreads!")
> > > and make Performer 2.3+ out of pthreads instead of sprocs.
> >
> > Actually, Performer does not use sproc. It is implemented using an
> > explicit shared storage model and fork (as opposed to implicit sharing
> > and sproc). It does however use arenas for the sharing which are also
> > incompatible with pthreads.
> >
> i thing we need a little more clarification on this point.
> About a year ago i tried to use pthreads with performer 2.0 together
> and...failed of
> course. Now i do the same stuff again with Performer 2.2.
> I launch a pthread for reading in tracker data in async fassion into a
> ring buffer.
> Then from my Update routine i just read the latest tracker data. And
> surprisingly: it works!
> And it uses pthreads and it uses Performer in any multiprocess mode. And
> a collegue
> of mine at a different institute uses pthreads too.
> It seems to work aurprisingly well.
> So now what is the case?
What version of IRIX are you using? Prior to IRIX6.5 pthreads was
implemented on sproc features and would work together. As of IRIX6.5,
this is no longer the case. My guess is that you are not running on
IRIX6.5 and hence your program works correctly.
- Phil
--
Phil Keslin <philk++at++engr.sgi.com>
This archive was generated by hypermail 2.0b2
on Fri Dec 11 1998 - 08:51:36 PST