gamin 0.1.7

Alex Dupre ale at FreeBSD.org
Wed Feb 8 12:05:56 PST 2006


eculp at 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


More information about the freebsd-ports mailing list