04-30-2008
problem in msgctl() system call
Hi,
i am using IBM P6 server and OS is AIX 5.3. my code is written in c/pro C.
i am facing problem in msgctl() system call.The variables msg_qbytes and msg_cbytes are used to store total no of bytes and current no of bytes in a QUEUE,but it is showing me as ZERO though data are there in QUEUE.
since the same code is working fine in IBM P5 MACHINE, i am quiet surprised.
please help.
10 More Discussions You Might Find Interesting
1. Programming
Dear Friends,
I write a c program to list the directories recursively. For this I write a function called my_readdir to read the content of directory. For this I use read system call it returns -1, then I use readdir system call it gives comment terminated error or segmentation... (1 Reply)
Discussion started by: spmlingam
1 Replies
2. UNIX for Advanced & Expert Users
Hi,
Ho do I differentiate system call from library call?
for example if I am using chmod , how do I find out if it is a system call or library call?
Thanks
Muru (2 Replies)
Discussion started by: muru
2 Replies
3. Programming
Hi,
I have a daq program that runs in an infinite loop until it receives SIGINT. A handler catches the signal and sets a flag to stop the while loop. After the loop some things have to be cleaned up.
The problem is that I want my main while loop to wait until the next full second begins, to... (2 Replies)
Discussion started by: soeckel
2 Replies
4. Linux
hi,
where can I find the detail information about the syscall in binary instructions of linux/mips.
for example, in linux/mips:
li v0, 4140
syscall
it's a syacall of "lseek" , but how can I find that which registers will be used in this syscall , and the meaning of the arguments in the... (2 Replies)
Discussion started by: zerocool_08
2 Replies
5. Programming
Hi,
I am having an issue with using sockets.
I have a program which binds to a socket and listen on it. Later I spawn a thread to handle some function. In the new thread created I need to call a shell script which executes the specified function. Here I am using a system command to call the... (5 Replies)
Discussion started by: Janardhanbr
5 Replies
6. UNIX for Advanced & Expert Users
Dear All,
I am having problem with read() system call in Blocking Mode.
In my driver interrupt intimation done through RT FIFO. so i have created the RT FIFO and open the FIFO using open() system call with O_RDONLY flag and i am waiting for interrupt using read() blocking call.initally... (1 Reply)
Discussion started by: rajamohan
1 Replies
7. Programming
I have a cgi script which is called after certain time interval, which has this:
system ("ls -l /tmp/cgic* | grep -v \"cgicsave.env\" | awk '{print $5}'");
During the execution of this script,the output is 0 sometimes. But due to this the system call is not working at all and doesnt o/p... (2 Replies)
Discussion started by: xs2punit
2 Replies
8. Programming
hi all,
i tried the following source codes:
fork1.c:
main()
{
printf("demo of fork\n");
fork();
printf("hello");
}
output:
demo of fork
hello hello
fork2.c:
main() (3 Replies)
Discussion started by: pnirmala
3 Replies
9. AIX
while i try to start the audit i have the below error message .
audit>audit start
** auditing enabled already
A system call received a parameter that is not valid.
please advice (6 Replies)
Discussion started by: thecobra151
6 Replies
10. Shell Programming and Scripting
Trying to figure out a load issue with a webserver. I have traced a php script and noticed the following
connect(4, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("XX.XX.XX.XX")}, 16) = -1 EINPROGRESS (Operation now in progress) <0.000035>
poll(, 1, 2000) = 1 () <0.000120>... (5 Replies)
Discussion started by: rajan007
5 Replies
LEARN ABOUT OSF1
msqid_ds
msqid_ds(4) Kernel Interfaces Manual msqid_ds(4)
NAME
msqid_ds - Defines a message queue
SYNOPSIS
#include <sys/msg.h>
struct msqid_ds{ struct ipc_perm msg_perm; struct msg *msg_first; struct msg *msg_last; u_short msg_cbytes;
u_short msg_qnum; u_short msg_qbytes; u_short msg_lspid; ushort msg_lrpid; time_t msg_stime; time_t
msg_rtime; time_t msg_ctime; };
DESCRIPTION
The msqid_ds structure defines a message queue associated with a message queue ID. There is one queue per message queue ID. Collectively,
the queues are stored as an array, with message queue IDs serving as an index into the array.
A message queue is implemented as a linked list of messages, with msg_first amd msg_last pointing to the first and last messages on the
queue.
The IPC permissions for the message queue are implemented in a separate, but associated, ipc_perm structure.
A message queue is created indirectly via the msgget() call. If msgget() is called with a non-existent message queue ID, the kernel allo-
cates a new msqid_ds structure, initializes it, and returns the message queue ID that is to be associated with the message queue.
FIELDS
The ipc_perm structure that defines permissions for message operations. See NOTES. A pointer to the first message on the queue. A
pointer to the last message on the queue. The current number of bytes on the queue. The number of messages currently on the queue. The
maximum number of bytes allowed on the queue. The process ID of the last process that called msgsnd() for the queue. The process ID of
the last process that called msgrcv() for the queue. The time of the last msgsnd() operation. The time of the last msgrcv() operation.
The time of the last msgctl() operation that changed a member of the msqid_ds structure.
NOTES
The msg_perm field identifies the associated ipc_perm structure that defines the permissions for operations on the message queue. The
ipc_perm structure (from the sys/ipc.h header file) is shown here. struct ipc_perm {
ushort uid; /* owner's user id */
ushort gid; /* owner's group id */
ushort cuid; /* creator's user id */
ushort cgid; /* creator's group id */
ushort mode; /* access modes */
ushort seq; /* slot usage sequence number */
key_t key; /* key */ }; The mode field is a 9-bit field that contains the permissions for message
operations. The first three bits identify owner permissions; the second three bits identify group permissions; and the last three bits
identify other permissions. In each group, the first bit indicates read permission; the second bit indicates write permission; and the
third bit is not used.
RELATED INFORMATION
Functions: msgctl(2), msgget(2), msgrcv(2), msgsnd(2) delim off
msqid_ds(4)