stealth
написал 23 декабря 2006 года в 00:42 (982 просмотра)
Ведет себя
неопределенно; открыл 103 темы в форуме, оставил 124 комментария на сайте.
// /root/Desktop/new/cl.c
#include
#include
#include
#include
#include
#define ID 2007
void sys_err (char * msg)
{
puts (msg);
exit (1);
}
int main ()
{
int msqid;
…
if ( (msqid = msgget (ID, 0)) < 0)
sys_err («can’t get msg queue»);
…
}
[root@localhost ~]# ipcs -q
—— Message Queues ——--
key msqid owner perms used-bytes messages
[root@localhost Desktop]# cd /root/Desktop/new
[root@localhost new]# gcc cl.c
[root@localhost new]# ./a.out
can’t get msg queue
И почему же can’t ? Почему не создается очередь?
Попробовал явно задать permissions-
…
#define PRM 00644
…
if ( (msqid = msgget (ID, PRM)) < 0)
…
тот же can’t get msg queue…
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
А вот так не хочешь попробовать?
2 Uncle Theodore
Ну вот, так -
…
if ( (msqid = msgget (ID,IPC_CREAT|00644)) < 0)
…
10.X получилось :)
Это хорошо, но все же из за чего без принуждения и обозначения прав очередь не создается?
Там в самом начале мануала написано.
A new message queue is created if key has
the value IPC_PRIVATE or key isn’t IPC_PRIVATE, no message queue with
the given key key exists, and IPC_CREAT is asserted in msgflg (i.e.,
msgflg&IPC_CREAT is nonzero).
Good Luck,
UT
2 Uncle Theodore
10.X ;)