From owner-freebsd-bugs Thu Oct 11 3: 0: 6 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 8E76C37B403 for ; Thu, 11 Oct 2001 03:00:02 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f9BA02j71576; Thu, 11 Oct 2001 03:00:02 -0700 (PDT) (envelope-from gnats) Date: Thu, 11 Oct 2001 03:00:02 -0700 (PDT) Message-Id: <200110111000.f9BA02j71576@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: yuri.viktarovich@philips.com Subject: Re: kern/30781: msgrcv call blocks other pthread's jobs Reply-To: yuri.viktarovich@philips.com Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR kern/30781; it has been noted by GNATS. From: yuri.viktarovich@philips.com To: freebsd-gnats-submit@FreeBSD.org, dwchoe@naver.com Cc: Subject: Re: kern/30781: msgrcv call blocks other pthread's jobs Date: Thu, 11 Oct 2001 11:52:28 +0200 > For msgrcv(3), it is the msgflg parameter - read the msgrcv(3) manual page > and set the IPC_NOWAIT flag. Then have your main thread call msgrcv(3) > in non-blocking mode and if it returns nothing, sleep for a while before > the next call. That's not really "message waiting" architecture than. Sending process should trigger the event and listening process should awake on it. Just like with sockets. Looks like that's currently impossible in FreeBSD with msgXXX functions without interrupting the other threads. Anyway shouldn't it be some generic uniform way to wakeup processes/threads on events working the same way on msgXXX, FDs, process start/end, other events? Yuri. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message