Long ago (e129c18a83ef) sys_sigwait was wrapped to prevent sigwait()
from returning with EINTR. Through a series of changes this wrapper
become libc_sigwait which was internal to libc and used solely in the
interposing table. To support a move of sigwait back to libc, move this
wrapper into interposing_table and rename it with an __libsys_ prefix.
Details
Details
- Reviewers
kib - Commits
- rGf7dbbbd1762f: libsys: don't expose sigwait wrapper
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
There might be something to be said for putting libsys_sigwait in its own file. Alternatively we could also kill off sigwait and make it static instead.
Comment Actions
Ok, but why moving the code into the interposer's file? I would see adding e.g. libc_sigwait.c source with the EINTR loop function. Or keeping the function in its current place.
Comment Actions
Add a libsys_sigwait that implements __libsys_sigwait. I think we
might be able to move it back to libc and the libc interposer table,
but without further testing I'm worried about breaking things during
upgrades so I think this split makes sense for now.
lib/libc/include/libc_private.h | ||
---|---|---|
418 | No need to use __restrict, libc is always compiled by mode where restrict is valid. |