public inbox for pthreads-win32@sourceware.org
 help / color / mirror / Atom feed
* RE: HANDLE leak
@ 1999-10-12  9:06 Steve Croall
  0 siblings, 0 replies; 2+ messages in thread
From: Steve Croall @ 1999-10-12  9:06 UTC (permalink / raw)
  To: 'Geoff Stevens', 'pthreads-win32@sourceware.cygnus.com'

Thanks.  Are there any disadvantages to running the threads detached?  Is
there any reason why this is not the default behaviour?  I wouldn't be
surprised if that was just the way it was :-)
 
Steve.  
 

-----Original Message-----
From: Geoff Stevens [ mailto:geoff.stevens@macro4.com ]
Sent: 12 October 1999 17:04
To: 'pthreads-win32@sourceware.cygnus.com'
Subject: FW: HANDLE leak



Steve, 

I think you should either create your threads detached (set
PTHREAD_CREATE_DETACHED in the attributes) or do a pthread_join for each of
them in main().

At the moment the threads you create are waiting for a join after
pthread_exit, and their Win32 threads (and thus their handles) cannot be
released.

I'm using detached threads with the same levels of the library and NT and
see no increase in handle usage after all my threads have terminated.

Best, 
Geoff Stevens   

-----Original Message----- 
From:   Steve Croall [SMTP:SCroall@staffware.com] 
Sent:   12 October 1999 16:24 
To:     geoff.stevens@macro4.com 
Subject:        HANDLE leak 

The following small program shows the HANDLE count in "Performance Monitor",

for the executable when running, increasing at an alarming rate.  Is this 
normal or am I not doing something to clear-up?  I am using the 1999-09-17 
snap-shot on Windows NT 4, service pack 4. 

#include <stdio.h> 
#include <stdlib.h> 
#include <conio.h> 

#include "pthread.h" 

void *thrd_func (void *i) 
{ 
        Sleep (500); 

        pthread_exit ((void *) 1); 
} 

int main (int argc, char **argv) 
{ 
        int             i = 0; 
        pthread_t       t_id; 

        while (!_kbhit ()) 
        { 
                Sleep (1000); 
                pthread_create (&t_id, NULL, (void *) thrd_func, NULL); 
        } 

        Sleep (1000); 
} 


Regards, 

        Steve Croall ( SCroall@staffware.com ) 


Chicago law prohibits eating in a place that is on fire. 

^ permalink raw reply	[flat|nested] 2+ messages in thread

* RE: HANDLE leak
@ 1999-10-12  9:16 aureliom
  0 siblings, 0 replies; 2+ messages in thread
From: aureliom @ 1999-10-12  9:16 UTC (permalink / raw)
  To: SCroall, geoff.stevens, pthreads-win32

You should call the routine pthread_detach() or set the
PTHREAD_CREATE_DETACHED attribute.  If you call pthread_join() it will block
your program.  The only disadvantage to detached threads is that you can no
longer call pthread_join().  However, if you never need to call this
function then there is no disadvantage.
 
Aurelio Medina
Bank of America, Distributed Systems Management
Voice:	(312) 234-2105
Fax:	(312) 453-2105
mailto:aureliom@crt.com < mailto:aureliom@crt.com > 
http://netatwork.nbgfn.com/html/gas.html
< http://netatwork.nbgfn.com/html/gas.html > 


	-----Original Message-----
	From:	Steve Croall [SMTP:SCroall@staffware.com]
	Sent:	Tuesday, October 12, 1999 11:05 AM
	To:	'Geoff Stevens'; 'pthreads-win32@sourceware.cygnus.com'
	Subject:	RE: HANDLE leak

	Thanks.  Are there any disadvantages to running the threads
detached?  Is
	there any reason why this is not the default behaviour?  I wouldn't
be
	surprised if that was just the way it was :-)
	 
	Steve.  
	 

	-----Original Message-----
	From: Geoff Stevens [ mailto:geoff.stevens@macro4.com ]
	Sent: 12 October 1999 17:04
	To: 'pthreads-win32@sourceware.cygnus.com'
	Subject: FW: HANDLE leak



	Steve, 

	I think you should either create your threads detached (set
	PTHREAD_CREATE_DETACHED in the attributes) or do a pthread_join for
each of
	them in main().

	At the moment the threads you create are waiting for a join after
	pthread_exit, and their Win32 threads (and thus their handles)
cannot be
	released.

	I'm using detached threads with the same levels of the library and
NT and
	see no increase in handle usage after all my threads have
terminated.

	Best, 
	Geoff Stevens   

	-----Original Message----- 
	From:   Steve Croall [SMTP:SCroall@staffware.com] 
	Sent:   12 October 1999 16:24 
	To:     geoff.stevens@macro4.com 
	Subject:        HANDLE leak 

	The following small program shows the HANDLE count in "Performance
Monitor",

	for the executable when running, increasing at an alarming rate.  Is
this 
	normal or am I not doing something to clear-up?  I am using the
1999-09-17 
	snap-shot on Windows NT 4, service pack 4. 

	#include <stdio.h> 
	#include <stdlib.h> 
	#include <conio.h> 

	#include "pthread.h" 

	void *thrd_func (void *i) 
	{ 
	        Sleep (500); 

	        pthread_exit ((void *) 1); 
	} 

	int main (int argc, char **argv) 
	{ 
	        int             i = 0; 
	        pthread_t       t_id; 

	        while (!_kbhit ()) 
	        { 
	                Sleep (1000); 
	                pthread_create (&t_id, NULL, (void *) thrd_func,
NULL); 
	        } 

	        Sleep (1000); 
	} 


	Regards, 

	        Steve Croall ( SCroall@staffware.com ) 


	Chicago law prohibits eating in a place that is on fire. 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-10-12  9:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-12  9:06 HANDLE leak Steve Croall
1999-10-12  9:16 aureliom

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).