Thursday, July 2, 2009

pthread_create failure, because of not having enough memory,

In an issue, we were not able to spwan threads after some fixed number of threads. The reason is the stack size of process was huge and was eating the whole stack size alloted for a process. If we reduce it with ulimit -s , it worked well.

Monday, June 29, 2009

signal handlers on Linux Vs Unix,

** On Linux signal handlers are persistent even after signal handler execution, where as it is not on Unix System V

socket read Vs socket recv,

The recv is better system call on sockets. This addresses partial reading of buffer,with suitable flags.

Thursday, April 30, 2009

XML buffer exchange on TCP :-

It is always good to look for end tag of XML and make the complete XML buffer at receiver end. Otherwise partial read may lead to crash of the program.

A nice article on Performance :-

http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.perf.doc/perf48.htm

Pipes learning :-

- You cant run pipes in blocking mode

Message Queue Learning :-

- You cant do partial read on Message Queue
- Message queue provides a mechanism of fetching data with the specifed data type quickly. This speeds up data fecthing some time.
- While writing into the Message queue, you have to give valid positive value as datatype. You cant have a negative data type

Linux PMAP command

This particular command gives the size of individual segement of a process. This is sometime useful in analysing load related issues.

Saturday, March 14, 2009

Read vs EINTR

If a read() is interrupted by a signal before it reads any data, it shall return -1 with errno set to [EINTR].
If a read() is interrupted by a signal after it has successfully read some data, it shall return the number of bytes read.

Tuesday, January 13, 2009

Sockect connection closure,

The closure of socket connection can be known by catching SIGPIPE signal in the application.