I have a program that's been working fine, but now I'm changing it to use objects (I don't want to go into reasoning, but even if I don't change it, I want to know how to do this).
I have been using one routine, which will be public, to call another and start the thread:
So far it's worked fine, but now that I'm putting these functions into an object, I'm using prototypes in the header and have this:Code:void * HDListen::listenthread(void *generic_pointer) {//protected readinfile(); ioport.closeport(); return NULL; } void HDListen::listentoradio() {//public pthread_create(&listenThread, NULL, listenthread, NULL); return; }
It seems no matte how I tweak the prototype of listenthread(), I can't get it right so it's accepted in the header file as okay and so it matches what's in the .cpp file. Why isn't it working and what do I need to change.Code:class HDListen { //Lots of variables that don't relate to this question... pthread_t listenThread; LinuxPort ioport; public: HDListen(LinuxPort); void listentoradio(); protected: void *listenthread(void*); };
And, while I'm on this issue, is it possible to make this work with passing a value to this routine or returning one -- or just not having it even return NULL?
Thanks!



LinkBack URL
About LinkBacks




Instead, dispatch the thread like this: