From owner-freebsd-hackers@FreeBSD.ORG Sat May 7 15:30:40 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AC3F516A4DB for ; Sat, 7 May 2005 15:30:40 +0000 (GMT) Received: from huawei.com (szxga03-in.huawei.com [61.144.161.55]) by mx1.FreeBSD.org (Postfix) with ESMTP id A78FF43D86 for ; Sat, 7 May 2005 15:30:39 +0000 (GMT) (envelope-from chenm@huawei.com) Received: from huawei.com (szxga03-in [172.24.2.9]) by szxga03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTP id <0IG4004IZLNG4I@szxga03-in.huawei.com> for freebsd-hackers@freebsd.org; Sat, 07 May 2005 23:28:29 +0800 (CST) Received: from szxml01-in ([172.24.1.3]) by szxga03-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTP id <0IG40040GLNGM0@szxga03-in.huawei.com> for freebsd-hackers@freebsd.org; Sat, 07 May 2005 23:28:28 +0800 (CST) Received: from satan ([219.133.242.125]) by szxml01-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 1.25 (built Mar 3 2004)) with ESMTPA id <0IG400A5TLW84V@szxml01-in.huawei.com> for freebsd-hackers@freebsd.org; Sat, 07 May 2005 23:33:45 +0800 (CST) Date: Sat, 07 May 2005 23:26:43 +0800 From: ChenMing To: freebsd-hackers@freebsd.org Message-id: <0IG400A5VLW94V@szxml01-in.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.2527 X-Mailer: Microsoft Office Outlook, Build 11.0.6353 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Thread-index: AcVSJ14RHTn+OmYnRAuw28sxwUnSRAA33WsgAAQCfjAAAI7vYA== X-Mailman-Approved-At: Sun, 08 May 2005 12:28:56 +0000 Subject: doubt: msgrcv not return EAGAIN? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 May 2005 15:30:40 -0000 hello, hackers. I use following line to recive message from message queue: int ret; ret = msgrcv(msgid, &msg, sizeof(msg), 0, IPC_NOWAIT) if (ret == -1) { if (errno == EAGAIN){ // no message in queue } else{ // here is an error occur } } but it sounds not works as my expected. It never return errno=EAGAIN, however it return errno=ENOMSG instead, but msgrcv manual say its should return EAGAIN. what's wrong? thanks in advanced.