Hi! > But why it return EINVAL, instead of EIDRM? Since at the point we do the IPC_STAT the ID is allready unused hence it's not valid anymore. You get EIDRM only in case that process is waiting in kernel (for example in msgrcv()) while another process removes the queue. -- Cyril Hrubis chrubis@suse.cz