Date: Wed, 08 Feb 2006 21:05:51 +0100 From: Alex Dupre <ale@FreeBSD.org> To: eculp@encontacto.net Cc: freebsd-ports@freebsd.org Subject: Re: gamin 0.1.7 Message-ID: <43EA4F1F.8060206@FreeBSD.org> In-Reply-To: <20060208133916.dzyx74skookookk4@mail.encontacto.net> References: <43E9FFAE.5020500@FreeBSD.org> <20060208133916.dzyx74skookookk4@mail.encontacto.net>
next in thread | previous in thread | raw e-mail | index | archive | help
eculp@encontacto.net wrote: > I'm a bit confused. With this port will the fam/gamin conflict with > courier still exist or will gamin be used in place of fam? gamin is a replacement for fam. Unfortunately it's not 100% compatible with fam. suspend/resume monitor is not implemented for security reasons, but the main *undocumented* difference is the use of the select(2) system call to check if there are new events to be read. For different reasons it may be that select() doesn't find any new events, while FAMPending find them, and viceversa. The only safe and correct way to check for pending events before calling a non-blocking FAMNextEvent is to call FAMPending before and after the select() system call (and return true as soon as any call to FAMPending return true). I don't know why courier-imap doesn't work with gamin. If the problem was a bug in gamin, maybe I've fixed it, but if it was due to one of the differences exposed above then the problem remains unless we fix the courier code to work with gamin. -- Alex Dupre
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43EA4F1F.8060206>