08-07-2010
You are creating new threads every time you receive a connection! Threads of course take memory. You're not properly letting the threads finish, either. To free up their memory when they quit, you should do
pthread_join in main().
You can also reduce the stack size before you create the thread with
pthread_attr_setstacksize. (there's also a nice example under the
pthread_create manpage.) The stack size should be at least 16384 bytes and, on most systems, a multiple of 4096 bytes. It should also be as large as it needs to be to contain all the thread's local variables and function calls, or you may start getting mysterious segmentation faults when calls nest too deep.
Last edited by Corona688; 08-07-2010 at 12:51 PM..
10 More Discussions You Might Find Interesting
1. Programming
Hello,
I actually try to make client-server program.
I'm using SCO OpenServer Release 5.0.0 and when I try to compile my code (by TELNET) I've got this error :
I'm just using this simple code :
and I get the same error if I use :
If someone can help me,
Thanks (2 Replies)
Discussion started by: soshell
2 Replies
2. Solaris
Hi,
Im working on Solaris 9 on SPARC-32 bit running on an Ultra-80, and I have to find out the following:-
1. Total Physical Memory in the system(total RAM).
2. Available Physical Memory(i.e. RAM Usage)
3. Total (Logical) Memory in the system
4. Available (Logical) Memory.
I know... (4 Replies)
Discussion started by: 0ktalmagik
4 Replies
3. UNIX for Advanced & Expert Users
Hi,
I was porting ipv4 application to ipv6; i was done with TCP transports. Now i am facing problem with SCTp transport at runtime.
To test SCTP transport I am using following server and client socket programs. Server program runs fine, but client program fails giving Invalid Arguments for... (0 Replies)
Discussion started by: chandrutiptur
0 Replies
4. Programming
Hi all,
On the server side, one socket is used for listening, the others are used for communicating with the client.
My question is: if i want to set option for socket, which socket should be set on?
If either can be set, what's the different?
Again, what's the different if set option... (1 Reply)
Discussion started by: blademan100
1 Replies
5. Programming
Hi,
I'm trying to learn how to manage memory when I have to deal with lots of data.
Basically I'm indexing a huge file (5GB, but it can be bigger), by creating tables that
holds offset <-> startOfSomeData information. Currently I'm mapping the whole file at
once (yep!) but of course the... (1 Reply)
Discussion started by: emitrax
1 Replies
6. Solaris
Is it possible to restrict physical memory in solaris zone with zone.max-locked-memory just like we can do with rcapd ? I do not want to used rcapd (1 Reply)
Discussion started by: fugitive
1 Replies
7. Programming
Why does this socket function only read the first 1440 chars of the stream. Why not the whole stream ? I checked it with gdm and valgrind and everything seems correct...
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include... (3 Replies)
Discussion started by: cyler
3 Replies
8. Programming
Dear Experts,
i am compiling my code in suse 4.1 which is compiling fine,
but at runtime it is showing me for socket programming error no 88
as i searched in errno.h it is telling me socket operation on non socket,
what is the meaning of this , how to deal with this error , please... (1 Reply)
Discussion started by: vin_pll
1 Replies
9. IP Networking
I need clarification on whether it is okay to set socket options on a listening socket
simultaneously when it is being used in an accept() call?
Following is the scenario:-
-- Task 1 - is executing in a loop - polling a listen socket, lets call it 'fd', (whose file descriptor is global)... (2 Replies)
Discussion started by: jake24
2 Replies
10. Solaris
Hi Experts,
Our servers running Solaris 10 with SAP Application. The memory utilization always >90%, but the process on SAP is too less even nothing.
Why memory utilization on solaris always looks high?
I have statement about memory on solaris, is this true:
Memory in solaris is used for... (4 Replies)
Discussion started by: edydsuranta
4 Replies
LEARN ABOUT SUNOS
in.daytimed
in.daytimed(1M) System Administration Commands in.daytimed(1M)
NAME
in.daytimed - UDP or TCP daytime protocol service daemon
SYNOPSIS
in.daytimed
FMRI
svc:/internet/daytime:default
DESCRIPTION
FMRI stands for Fault Management Resource Identifier. It is used to identify resources managed by the Fault Manager. See fmd(1M) and
smf(5).
The in.daytimed service provides the server-side of the daytime protocol. This protocol is used for debugging and bandwidth measurement and
is available on both TCP and UDP transports, through port 13.
The in.daytimed service is an inetd(1M) smf(5) delegated service. The in.daytimed detects which transport is requested by examining the
socket it is passed by the inetd daemon.
TCP-based service
Once a connection is established, the in.daytimed generates the current date and time in ctime(3C) format as 7-bit ASCII and sends it
through the connection. The server then closes the connection. Any data received from the client side of the connection is discarded.
UDP-based service
The in.daytimed listens for UDP datagrams. When a datagram is received, the server generates the current date and time in ctime(3C)
format as 7-bit ASCII and inserts it in a UDP datagram sent in response to the client's request. Any received data is ignored.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWcnsu |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
SEE ALSO
inetd(1M), attributes(5), smf(5)
RFC 867
SunOS 5.10 23 Aug 2004 in.daytimed(1M)