RFC: API change for sema_timedwait
From: John Polstra (jdp_at_polstra.com)
Date: 06/12/04
- Previous message: Garance A Drosihn: "Re: Change to "kludge option processing" in /bin/ps"
- Next in thread: Robert Watson: "Re: RFC: API change for sema_timedwait"
- Reply: Robert Watson: "Re: RFC: API change for sema_timedwait"
- Reply: Scott Long: "Re: RFC: API change for sema_timedwait"
- Reply: John Baldwin: "Re: RFC: API change for sema_timedwait"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sat, 12 Jun 2004 12:15:21 -0700 (PDT) To: freebsd-arch@freebsd.org
Before 5.x becomes -stable, I'd like to change the API of
sema_timedwait(9). This function is used in only 3 places in the
kernel, all in "dev/ips/ips_commands.c".
Currently, sema_timedwait returns 0 if the operation fails due to a
timeout. On success, it returns a non-zero value. This is precisely
the opposite of the standard convention in the kernel, where 0 means
success and a non-zero value (taken from <sys/errno.h>) means failure.
The convention exists because most functions can succeed in only one
way but can fail in several different ways.
The reason I care about this is because I'd like to add new functions
sema_wait_sig() and sema_timedwait_sig() which can be interrupted
by a signal. Then sema_timedwait_sig could fail in two different
ways: as a result of a timeout or as a result of a signal. If these
functions returned proper errno values on failure, it would be easy to
distinguish between the two failure cases.
This change would also make the return values of sema_timedwait,
sema_wait_sig, and sema_timedwait_sig consistent with the analogous
condition variable operations cv_timedwait, cv_wait_sig, and
cv_timedwait_sig and with tsleep and msleep.
Does this change sound OK to you folks?
John
_______________________________________________
freebsd-arch@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-arch
To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
- Previous message: Garance A Drosihn: "Re: Change to "kludge option processing" in /bin/ps"
- Next in thread: Robert Watson: "Re: RFC: API change for sema_timedwait"
- Reply: Robert Watson: "Re: RFC: API change for sema_timedwait"
- Reply: Scott Long: "Re: RFC: API change for sema_timedwait"
- Reply: John Baldwin: "Re: RFC: API change for sema_timedwait"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|