打印

msgget 返回Invalid argument(无效参数)是怎么回事

msgget 返回Invalid argument(无效参数)是怎么回事

key_t key;
    int msgid;
.......   
    memset(file, 0, sizeof(file));
    sprintf(file, "%s/bin/%s", getenv("HOME"), argv[0]);
    if ((key=ftok(file, '1')) == -1)
    {
        printf("Creat Key Error:%s\n",strerror(errno));
        exit(-1);
    }

    if ((msgid = msgget(key, S_IRUSR|S_IWUSR|IPC_CREAT)) == -1)
    {
        printf("key[%ld]\n", key);
        printf("Creat Message Error:%d %s\n", errno, strerror(errno));
        exit(-1);
    }
........

程序执行时显示:
key[822135052]
Creat Message Error:22 Invalid argment
是怎么回事???

我是用$home/bin/下的一个执行程序(属性777)通过ftok产生一个key值,然后
通过这个key值创建一个消息队列.

TOP


感谢一直以来您对我们的支持!
当前时区 GMT+8, 现在时间是 2008-11-22 19:53 京ICP证060528 号

Designed By 17DST