Date: Wed, 3 Oct 2001 16:09:52 -0500 From: Chris Costello <chris@FreeBSD.ORG> To: Oleg Golovanov <olmi@home.krasnoyarsk.ru> Cc: freebsd-questions@FreeBSD.ORG, freebsd-hackers@FreeBSD.ORG Subject: Re: Question about pthread Message-ID: <20011003160951.E57938@holly.calldei.com> In-Reply-To: <3BBB77A7.5C4B129E@home.krasnoyarsk.ru>; from olmi@home.krasnoyarsk.ru on Thu, Oct 04, 2001 at 04:40:07AM %2B0800 References: <3BBB77A7.5C4B129E@home.krasnoyarsk.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, October 04, 2001, Oleg Golovanov wrote: > static void *coms(void *arg) > { > pthread_detach(pthread_self()); > write((int)arg, "Test", sizeof("test")); > close((int)arg); > return(NULL); > } For starters, this function should be rewritten as static void *coms(void *arg) { int fd; fd = *(int *)arg; pthread_detach(pthread_self()); write(fd, "Test", 4); close(fd); return (NULL); } Because you're passing the _address_ of `confd', not the value. You must first cast arg to an int pointer, and then dereference it (and assign its value to `fd'). -- +-------------------+---------------------------------------------------+ | Chris Costello | CCITT - Can't Conceive Intelligent Thoughts Today | | chris@FreeBSD.org | | +-------------------+---------------------------------------------------+ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011003160951.E57938>