Sponsored Content
Top Forums Programming How to make a C code reentrant? Post 8182 by jyotipg on Monday 8th of October 2001 05:05:00 AM
Old 10-08-2001
Neelam,
I suggest that to be on the safer side on a networking environment, only use those system calls that are reentrant as specified by Posix. Before using any System Canl, just refer the manual on the machine to find if it adheres to those standards.

And unluckily if u have to use a Call that is non- reentrant.. i.e mainly the Blocking or Slow system call, then better check the return values of the call while calling them and if its a failure then better restart the System Call to proceed ahead or your system can behave in really amazing ways.

Good Luck.. Smilie
 

9 More Discussions You Might Find Interesting

1. Linux

Need direction to make code for cellphone in C,C++ or Perl

Hi All, I need a help from the techie guys in this group.Actually, i need to make a code which can make wallpaper and ringtone for a mobile phone using any method. I know C,C++ and perl langauges but doesnot having much knowledge of JAVA. So can anybody tell me that whether i can... (0 Replies)
Discussion started by: basileis
0 Replies

2. Shell Programming and Scripting

Please make this code elegant.

Hi All, Following is the part of my script.It does contain many for loops and is not elegant. Please feel free to suggest any changes to make this elegant. Thanks! nua7 for i in `ls $CATALINA_HOME/shared/lib/*.jar`; do LOCALCLASSPATH="$LOCALCLASSPATH:$i" done for i in... (3 Replies)
Discussion started by: nua7
3 Replies

3. UNIX for Advanced & Expert Users

how to port a package to huge source code having its own make and compilers

In general for intalling a package like we do ./configure, make , make install But if we want to integrate the package with a huge source base what are the things to be taken care could some one have a light on purpose of ./configure , make and make install along with above question. I... (1 Reply)
Discussion started by: Gopi Krishna P
1 Replies

4. Solaris

Gani Network Driver Won't Install - make: Fatal error: Don't know how to make targ...

I attached a README file that I will refer to. I successfully completed everything in the README file until step 4. # pwd /gani/gani-2.4.4 # ls COPYING Makefile.macros gem.c Makefile Makefile.sparc_gcc gem.h Makefile.amd64_gcc ... (1 Reply)
Discussion started by: Bradj47
1 Replies

5. Shell Programming and Scripting

trying to make an AWK code for ordering numbers in a column from least to highest

Hi all, I have a large column of numbers like 5.6789 2.4578 9.4678 13.5673 1.6589 ..... I am trying to make an awk code so that awk can easily go through the column and arrange the numbers from least to highest like 1.6589 2.4578 5.6789 ....... can anybody suggest, how can I do... (5 Replies)
Discussion started by: ananyob
5 Replies

6. UNIX for Advanced & Expert Users

How to Make Sql Plus Exit with an Error Code

Dear all, How to make sqlplus command to exit with an apt error code in bash script, It always returns 0 for me. Thanks (9 Replies)
Discussion started by: vetrivendhan
9 Replies

7. Programming

Help with make this Fortran code more efficient (in HPC manner)

Hi there, I had run into some fortran code to modify. Obviously, it was written without thinking of high performance computing and not parallelized... Now I would like to make the code "on track" and parallel. After a whole afternoon thinking, I still cannot find where to start. Can any one... (3 Replies)
Discussion started by: P_E_M_Lee
3 Replies

8. Shell Programming and Scripting

Code to make sure Script runs only on sunday -

Hi I have written a script which restarts the application , I want to add a piece of code in my script , to make sure this gets executed only on sunday . So that even if someone runs it on any other day by mistake it should exit throwing an error message . Can someone please assist what will... (6 Replies)
Discussion started by: honey26
6 Replies

9. Shell Programming and Scripting

How to make this code working?

Hi Gurus, I wrote a simple code, but it doesn't work, can body help me to fix the issue. awk -F',' 'BEGIN{n=0}{ NR == FNR {fname;next} { if ($3==fname) n=1 } END{if n==0} }' tmpsrc srcfile.txt Thanks in advance (4 Replies)
Discussion started by: ken6503
4 Replies
SIGINTERRUPT(3) 					   BSD Library Functions Manual 					   SIGINTERRUPT(3)

NAME
siginterrupt -- allow signals to interrupt system calls LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <signal.h> int siginterrupt(int sig, int flag); DESCRIPTION
The siginterrupt() function is used to change the system call restart behavior when a system call is interrupted by the specified signal. If the flag is false (0), then system calls will be restarted if they are interrupted by the specified signal and no data has been transferred yet. System call restart has been the default behavior since 4.2BSD, and is the default behaviour for signal(3) on FreeBSD. If the flag is true (1), then restarting of system calls is disabled. If a system call is interrupted by the specified signal and no data has been transferred, the system call will return -1 with the global variable errno set to EINTR. Interrupted system calls that have started transferring data will return the amount of data actually transferred. System call interrupt is the signal behavior found on 4.1BSD and AT&T System V UNIX systems. Note that the new 4.2BSD signal handling semantics are not altered in any other way. Most notably, signal handlers always remain installed until explicitly changed by a subsequent sigaction(2) call, and the signal mask operates as documented in sigaction(2). Programs may switch between restartable and interruptible system call operation as often as desired in the execution of a program. Issuing a siginterrupt(3) call during the execution of a signal handler will cause the new action to take place on the next signal to be caught. NOTES
This library routine uses an extension of the sigaction(2) system call that is not available in 4.2BSD, hence it should not be used if back- ward compatibility is needed. RETURN VALUES
The siginterrupt() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error. ERRORS
The siginterrupt() call fails if: [EINVAL] The sig argument is not a valid signal number. SEE ALSO
sigaction(2), sigprocmask(2), sigsuspend(2), signal(3) HISTORY
The siginterrupt() function appeared in 4.3BSD. BSD
June 4, 1993 BSD
All times are GMT -4. The time now is 06:34 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy