1832801 Members
3294 Online
110045 Solutions
New Discussion

Re: ioctl FIONBIO??

 
Jimmy N
Occasional Contributor

ioctl FIONBIO??

I have an oracle apps 11i process running on an HP 11i o/s. I'm having issues with the apps on my L class box but not my rp8400. I trace the forms procces and find a lot of ioctl(39, FIONBIO, 0x7f7f61a8) ................... = 0

This does not occur on the RP8400. How do I turn FIONBIO off?

thanks
3 REPLIES 3
James Murtagh
Honored Contributor

Re: ioctl FIONBIO??

What sort of issues are you having?

Its really up to the programer to specify what call is to be made. If you look in /usr/include/sys/ioctl.h you will find
ioctl.h:#define FIONBIO _IOW('f', 126, int) /* set/clear non-blockin
g i/o */
however, it is not recommended using this, the posix compliant O_NONBLOCK found in /usr/include/sys/fcntl.h
fcntl.h:# define O_NONBLOCK 0200000 /* Non-blocking open and/or I/O; POSIX-s
tyle */
is better.

This is an extract I found from January this year :
FIONBIO ioctl (setting SS_NBIO flag in socket structure) enables unblocked mode
that is slightly different from fcntl(..., O_NONBLOCK). See accept(2),
connect(2), recv(2) manpages for details of FIONBIO and O_NONBLOCK modes. These
two flags are independent and can be set in any combination (though it does not
make sense). FIONBIO ioctl is older interface created at tomes when there was
no POSIX O_NONBLOCK.
Because there are two different non-blocking modes - the older one (not
recommended anymore) set with ioctl/FIONBIO, and the newer one (POSIX) set by
fcntl/O_NONBLOCK. When you check the mode using fcntl() you check O_NONBLOCK
flag only.


Have a look at the manpages shown for more details.

Assuming your Oracle Apps are the same revision, it may be worth checking your versions of ARPA Transport patching and STREAMS kernel tunables.

Jimmy N
Occasional Contributor

Re: ioctl FIONBIO??

The issue I'm having is its the same Application that i've installed on the RP8400. I cloned it to a new L class and the tusc file shows ioctl FIONBIO, where on the Rp8400 it does not. I'm not sure if this is an issue or not, but this and a lot of[21048] times(0x7f7f50c8) ................................ = 2641554

is the difference.
James Murtagh
Honored Contributor

Re: ioctl FIONBIO??

I meant what issues caused you to start tracing the process?

Basically, the process on one server is using this system call and the other isn't. Can you confirm whether the trace for the one that isn't is using O_NONBLOCK? Are the sizes of the two traces much different?

Also can you display a "what" of both the forms process executable?

Are the two systems patched similarly?