10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I am using ubuntu. I have written a program to calculate prime factors. it works perfectly fine till entered number is less than 9989 (or so ) but when one enters a number higher than that, for example 15000, it does not work. Can anyone guide me whats the problem ? although new codes are welcome,... (2 Replies)
Discussion started by: Abhishek_kumar
2 Replies
2. Programming
Hello,
I am new to C++ programming, so I'm still getting a feel for things. I recently wrote a simple C++ program (to be used as a ROOT Macro) to conduct a statistical analysis of a varied version of the Monty Hall problem (code below). Basically, the programs runs a few simple calculations to... (7 Replies)
Discussion started by: Tyler_92
7 Replies
3. Shell Programming and Scripting
hello all..
i'm a beginner in shell scripting. I need to know what is really happening when we are creating a variable in shell scripting? how memory is allocated for that variable? (3 Replies)
Discussion started by: aarathy
3 Replies
4. Programming
When we dynamically allocate the memory say 100 integers say
int *x = new int(1000);
then does entire chunk of memory gets allocated at once after the completion of the statement?
I mean will the the concept of page fault come into picture over here? (3 Replies)
Discussion started by: rupeshkp728
3 Replies
5. Programming
Hello Guys
I have a small confusion in the dynamic memory allocation concept.
If we declare a pointer say a char pointer, we need to allocate adequate memory space.
char* str = (char*)malloc(20*sizeof(char));
str = "This is a string";
But this will also work.
char* str = "This... (2 Replies)
Discussion started by: tene
2 Replies
6. Programming
Hi Experts
I need some help in static memory allocation in C. I have a program in which I declared 2 variables, one char array and one integer. I was little surprised to see the addresses of the variables.
First:
int x;
char a;
printf("%u %u\n', &x, a);
I got the addresses displayed... (2 Replies)
Discussion started by: unx_freak
2 Replies
7. Programming
I have a scenario like the client has to search for the active server.There will be many servers.But not all server are active.And at a time not more than one server will be active.
The client will be in active state always i.e, it should always search for an active server until it gets one.I... (1 Reply)
Discussion started by: vigneshinbox
1 Replies
8. Programming
Hi,
I am trying to process line by line of a file. But I should not be allocating static allocation for reading the contents of the file. The memory should be dynamically allocated. The confusion here is how do I determine the size of each line, put it into a buffer with the memory allocated... (11 Replies)
Discussion started by: naan
11 Replies
9. UNIX for Advanced & Expert Users
Hello!
First of all, forgive me for bad English.
When I starts new thread (pthread_create), system allocates some memory for it (for example, for thread's stack). I wonder when does it deallocate this memory? The problem is that I have a program which sometimes creates new threads and sometimes... (3 Replies)
Discussion started by: prankster
3 Replies
10. UNIX for Dummies Questions & Answers
I would like to know how I could allocate some more memory to a process.
Please note that I am not the root user. (1 Reply)
Discussion started by: sagar
1 Replies
FREE(9r) FREE(9r)
NAME
FREE - General: Deallocates (frees) the allocated kernel virtual memory
SYNOPSIS
#include <sys/malloc.h>
FREE(
void *addr,
int type );
ARGUMENTS
Specifies the memory pointer that points to the allocated memory to be freed. You must have previously set this pointer in the call to MAL-
LOC. You also define the data type for this argument in the call to MALLOC. Specifies the purpose for which the memory is being allocated.
The memory types are defined in the file <malloc.h>. Typically, kernel modules use the constant M_DEVBUF to indicate that kernel module
memory is being allocated (or freed).
DESCRIPTION
The FREE routine deallocates (frees) the allocated kernel virtual memory, which you allocated in a previous call to MALLOC.
NOTES
A memory corruption can occur if a kernel module continues to use the memory after freeing it. The operating system provides a built-in
mechanism to debug such erroneous use of memory. You can enable this debugging feature at boot time by providing the following boot parame-
ter: kmem_debug=1. When you enable this debugging feature, the FREE routine stores the following in the last word of freed memory: The pro-
gram counter (pc) of the module that last freed the memory The checksum of the memory content
The MALLOC routine checks the checksum of the memory content before reallocating this corrupted memory. If the checksum of the memory con-
tent does not match the corrupted memory, MALLOC stores the debug information and then causes the kernel to panic. The MALLOC routine
stores the address and size of the corrupted memory and the pc of the routine that last freed it in a kmem_corrupt_data structure.
You should consider the following when using this debugging feature: This debugging feature does not detect cases where the corruption
occurs after malloc reallocates the freed memory to some other module. There is a small chance that the pc of the routine that freed the
memory (stored in the last word of freed memory) may itself become corrupted.
RETURN VALUES
None
SEE ALSO
Routines: MALLOC(9r)
FREE(9r)