Created attachment 163870 [details] use poll(2) and copy strchrnul(3) from 10.x Looking at how ppoll(2) is implemented it seems the following is true ppoll(,, NULL, NULL) == poll(,, INFTIM) Our manpage is a bit vague but the one on Linux has If the sigmask argument is specified as NULL, then no signal mask manipulation is performed (and thus ppoll() differs from poll() only in the precision of the timeout argument). If timeout_ts is specified as NULL, then ppoll() can block indefinitely. But FreeBSD 9.x also needs another fix client.c: In function 'get_token_pin': client.c:244:3: error: implicit declaration of function 'strchrnul' [-Werror=implicit-function-declaration] char *c = strchrnul(pin, '\n'); ^ client.c:244:13: error: initialization makes pointer from integer without a cast [-Werror] char *c = strchrnul(pin, '\n'); ^ client.c:262:13: error: initialization makes pointer from integer without a cast [-Werror] char *c = strchrnul(pin, '\n'); ^ cc1: all warnings being treated as errors poudriere bulk -t build logs: - 9.3R i386: http://sprunge.us/MaEO - 9.3R amd64: http://sprunge.us/cTYG - 10.1R i386: http://sprunge.us/fjGN - 10.2R amd64: http://sprunge.us/ZfFK - 11.0C i386: http://sprunge.us/JcIb Would you like the patch land in /branches/2015Q4 as well?
DragonFly also lacks ppoll(2) but may implement it soon. DPorts last build was blocked on devel/efivar which I (hopefully) fixed in ports r403070.
Created attachment 163875 [details] use poll(2) and copy strchrnul(3) from 10.x, v1.1 Oops, forgot to add static keyword and version of strchrnul.c it was copied from.
Looks good to me. Would you commit it? Thanks!
A commit references this bug: Author: jbeich Date: Sun Dec 6 12:40:59 UTC 2015 New revision: 403110 URL: https://svnweb.freebsd.org/changeset/ports/403110 Log: sysutils/pesign: unbreak on pre-10.2 systems - No reason to use ppoll(2), so switch to poll(2) - Include missing strchrnul(3) for 9.x No PORTREVISION bump because 10.2+ behavior doesn't change. PR: 205039 Approved by: trasz (maintainer) MFH: 2015Q4 Changes: head/sysutils/pesign/Makefile head/sysutils/pesign/files/extra-patch-src_client.c head/sysutils/pesign/files/patch-src-daemon.c
A commit references this bug: Author: jbeich Date: Sun Dec 6 19:03:35 UTC 2015 New revision: 403152 URL: https://svnweb.freebsd.org/changeset/ports/403152 Log: MFH: r403110 sysutils/pesign: unbreak on pre-10.2 systems - No reason to use ppoll(2), so switch to poll(2) - Include missing strchrnul(3) for 9.x No PORTREVISION bump because 10.2+ behavior doesn't change. PR: 205039 Approved by: trasz (maintainer) Approved by: ports-secteam (delphij) Changes: _U branches/2015Q4/ branches/2015Q4/sysutils/pesign/Makefile branches/2015Q4/sysutils/pesign/files/extra-patch-src_client.c branches/2015Q4/sysutils/pesign/files/patch-src-daemon.c