> What have I done wrong? I can't find anything wrong, nor can about half a
Here it is: --- /tmp/threadexamp.c Tue Apr 2 10:51:17 2002 +++ threadexamp.c Tue Apr 2 10:51:52 2002 @@ -115,7 +115,7 @@ int addque(struct que *quedata) { int main() { struct que quedata; - pthread_t *pull_t; + pthread_t pull_t; char *data; quedata.head=NULL; @@ -124,8 +124,8 @@ int main() { // This thread adds items to our que. we detach it because we expect // it to run forever (even though that is not the case at the // moment). - pthread_create(pull_t, NULL, (void *)addque, &quedata); - pthread_detach(*pull_t); + pthread_create(&pull_t, NULL, (void *)addque, &quedata); + pthread_detach(pull_t); while (1) { // Try and take data off the que You were passing pthread_create a pointer to an arbitrary memory location, and it was writing sizeof(pthread_t) bytes to there. The program was condemned to segfault. Regards, Sergey ______________________________________________________________________ GNU Portable Threads (Pth) http://www.gnu.org/software/pth/ User Support Mailing List [EMAIL PROTECTED] Automated List Manager (Majordomo) [EMAIL PROTECTED]