Sponsored Content
Top Forums Programming Problem with POSIX pthreads and virtual memory Post 302222810 by shamrock on Thursday 7th of August 2008 01:44:56 PM
Old 08-07-2008
Quote:
Originally Posted by JEscola
yes, detach is inside client procedure..

static void* cliente(void *datos)
{
int id=pthread_self();
char *buff=(char *)malloc(100000);
sleep(15);
free(buff);
buff=NULL;
int error=pthread_detach(id);
printf("End Thread (%d)\r\n",error);
pthread_exit(NULL);

}
Well can you change it so that pthread_detach() is called from inside the function main().
 

10 More Discussions You Might Find Interesting

1. Programming

how can i avoid virtual memory problem

Hi i was trying to compile one of my project source file which is neary 2MB large. i couldnt compile it, instead getting an error like "insufficient virtual memory" how come i get away with this problem ,please suggest. thanks (1 Reply)
Discussion started by: Raom
1 Replies

2. Programming

Problem with pthreads

hi i have a code: I found that after exiting from child thread memory isn't freed. I commented everything which is "some actions" here, so thread's function contains only two lines. But it doesn't help. What do I do wrong? Thanks a lot (3 Replies)
Discussion started by: sery0ga
3 Replies

3. Programming

POSIX Thread - Memory leak

Hi all! I am implementing an http server in c++ using the posix thread, but i am having a memory leak and i cannot find the reason. I have already commented out the section that initializes the threads and i found out, the problem is when i initialize/run the threads. In the threads i have... (1 Reply)
Discussion started by: laurovalente
1 Replies

4. UNIX for Advanced & Expert Users

Shared Memory (Posix)

hi I had to create a shared memory segment which allows the creation of 8 child processes each with 1024 bytes and contains a common buffer area of 2096bytes. i was able to create the shared memory with shm_open() followed by ftruncate() and mmap() system calls. but for the shared buffer, i... (3 Replies)
Discussion started by: pretty
3 Replies

5. AIX

ulimits max locked memory virtual memory

Hi, Would any one be so kind to explain me : are ulimits defined for each user seperately ? When ? Specialy what is the impact of : max locked memory and virtual memory on performance of applications for a user. Many thanks. PS : this is what I can see in MAN : ulimit ] ... (5 Replies)
Discussion started by: big123456
5 Replies

6. UNIX for Dummies Questions & Answers

cpu, memory and virtual memory usage

Hi All, Does anyone know what the best commands in the UNIX command line are for obtaining this info: current CPU usage memory usage virtual memory usage preferably with date and time parameters too? thanks ocelot (4 Replies)
Discussion started by: ocelot
4 Replies

7. UNIX for Advanced & Expert Users

POSIX thread runs out of memory

i am creating threads in my program using the POSIX interface. when the thread starts executing i run out of memory and get a core dump. i have tried to increase the threads stack size using pthread_attr_setstacksize, but of no use since i guess the dynamic memory is allocated on the heap and... (1 Reply)
Discussion started by: aniketkadu2002
1 Replies

8. Programming

Memory LEAK with pthreads

I have this code... #include <stdio.h> #include <iostream> #include <pthread.h> static void* cliente(void *datos); int main() { pthread_attr_t tattr; int ret; size_t size = PTHREAD_STACK_MIN + 0x0100; ret = pthread_attr_init(&tattr); ret =... (8 Replies)
Discussion started by: JEscola
8 Replies

9. Programming

POSIX Message Queue Memory Allocation

Hi, I wanted to know whether the POSIX message queues are statically allocated memory by the kernel based on the parameters specified in the open or as and when we send messages, memory are allocated? Does the kernel reserve the specified memory for the message queue irrespective of whether... (1 Reply)
Discussion started by: sumtata
1 Replies

10. Solaris

Virtual Memory problem on local zone

Hi I have a problem with Virtual Memory on one local zone (myzone1): //from local zone (myzone1) swap -s total: 22888544k bytes allocated + 0k reserved = 22888544k used, 3325856k available swap -l swapfile dev swaplo blocks free /dev/swap ... (0 Replies)
Discussion started by: primo102
0 Replies
PTHREAD_DETACH(3)					     Linux Programmer's Manual						 PTHREAD_DETACH(3)

NAME
pthread_detach - detach a thread SYNOPSIS
#include <pthread.h> int pthread_detach(pthread_t thread); Compile and link with -pthread. DESCRIPTION
The pthread_detach() function marks the thread identified by thread as detached. When a detached thread terminates, its resources are automatically released back to the system without the need for another thread to join with the terminated thread. Attempting to detach an already detached thread results in unspecified behavior. RETURN VALUE
On success, pthread_detach() returns 0; on error, it returns an error number. ERRORS
EINVAL thread is not a joinable thread. ESRCH No thread with the ID thread could be found. ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +-----------------+---------------+---------+ |Interface | Attribute | Value | +-----------------+---------------+---------+ |pthread_detach() | Thread safety | MT-Safe | +-----------------+---------------+---------+ CONFORMING TO
POSIX.1-2001, POSIX.1-2008. NOTES
Once a thread has been detached, it can't be joined with pthread_join(3) or be made joinable again. A new thread can be created in a detached state using pthread_attr_setdetachstate(3) to set the detached attribute of the attr argument of pthread_create(3). The detached attribute merely determines the behavior of the system when the thread terminates; it does not prevent the thread from being terminated if the process terminates using exit(3) (or equivalently, if the main thread returns). Either pthread_join(3) or pthread_detach() should be called for each thread that an application creates, so that system resources for the thread can be released. (But note that the resources of any threads for which one of these actions has not been done will be freed when the process terminates.) EXAMPLE
The following statement detaches the calling thread: pthread_detach(pthread_self()); SEE ALSO
pthread_attr_setdetachstate(3), pthread_cancel(3), pthread_create(3), pthread_exit(3), pthread_join(3), pthreads(7) COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. Linux 2017-09-15 PTHREAD_DETACH(3)
All times are GMT -4. The time now is 09:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy