Page MenuHomeFreeBSD

aio_*(2): mention ENOSYS under ERRORS
ClosedPublic

Authored by ngie on Tue, Mar 25, 10:00 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 16, 12:33 AM
Unknown Object (File)
Mon, Apr 14, 8:57 PM
Unknown Object (File)
Fri, Apr 11, 5:06 PM
Unknown Object (File)
Wed, Apr 9, 8:53 AM
Unknown Object (File)
Wed, Apr 9, 8:53 AM
Unknown Object (File)
Wed, Apr 9, 8:53 AM
Unknown Object (File)
Mon, Apr 7, 10:02 AM
Unknown Object (File)
Tue, Apr 1, 8:18 AM
Subscribers

Details

Summary

ENOSYS can occur if aio(4) is not loaded in the kernel. Document this
behavior so consumers on FreeBSD can better understand that this is a
possible scenario.

Clean up the manpages slightly while here:

  • Sort ERRORS by errno(3).
  • Use .Fx instead of FreeBSD.

PR: 190942

Test Plan
  • igor/manlint pass with the changes (ignore the .Dd complaints):
% for i in aio_cancel.2 aio_error.2 aio_fsync.2 aio_mlock.2 aio_read.2 aio_return.2 aio_suspend.2 aio_waitcomplete.2 aio_write.2 ; do mandoc -Tlint  $PWD/$i; done
% for i in aio_cancel.2 aio_error.2 aio_fsync.2 aio_mlock.2 aio_read.2 aio_return.2 aio_suspend.2 aio_waitcomplete.2 aio_write.2 ; do igor $PWD/$i; done
aio_cancel.2:25:date not today, March 25, 2025:.Dd [January 19, 2000]
aio_error.2:25:date not today, March 25, 2025:.Dd [January 2, 2021]
aio_fsync.2:25:date not today, March 25, 2025:.Dd [November 15, 2023]
aio_mlock.2:25:date not today, March 25, 2025:.Dd [August 19, 2016]
aio_read.2:25:date not today, March 25, 2025:.Dd [February 1, 2024]
aio_return.2:25:date not today, March 25, 2025:.Dd [January 11, 2021]
aio_suspend.2:25:date not today, March 25, 2025:.Dd [October 23, 2017]
aio_waitcomplete.2:25:date not today, March 25, 2025:.Dd [March 21, 2016]
aio_write.2:25:date not today, March 25, 2025:.Dd [February 1, 2024]
  • The rendered output looks good after the change.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ngie requested review of this revision.Tue, Mar 25, 10:00 PM
ngie added a reviewer: ziaee.
ngie edited subscribers, added: linimon; removed: ziaee.

Thank you so much for doing this!

This revision is now accepted and ready to land.Tue, Mar 25, 10:20 PM

Do you need to mention the SIGSYS issue? Unless you have blocked SIGSYS, any system call that returns ENOSYS will generate that signal.

In D49502#1128871, @imp wrote:

Do you need to mention the SIGSYS issue? Unless you have blocked SIGSYS, any system call that returns ENOSYS will generate that signal.

Good question. It looks like ENOSYS without SIGSYS is the standard in libsys:

% rg -l SIGSYS lib/libsys/*.2 | wc -l
       1
% rg -l ENOSYS lib/libsys/*.2 | wc -l
      24
In D49502#1128871, @imp wrote:

Do you need to mention the SIGSYS issue? Unless you have blocked SIGSYS, any system call that returns ENOSYS will generate that signal.

Good question. It looks like ENOSYS without SIGSYS is the standard in libsys:

% rg -l SIGSYS lib/libsys/*.2 | wc -l
       1
% rg -l ENOSYS lib/libsys/*.2 | wc -l
      24

Ok looks like intro covers it

In D49502#1128880, @imp wrote:
In D49502#1128871, @imp wrote:

Do you need to mention the SIGSYS issue? Unless you have blocked SIGSYS, any system call that returns ENOSYS will generate that signal.

Good question. It looks like ENOSYS without SIGSYS is the standard in libsys:

% rg -l SIGSYS lib/libsys/*.2 | wc -l
       1
% rg -l ENOSYS lib/libsys/*.2 | wc -l
      24

Ok looks like intro covers it

👍

This revision was automatically updated to reflect the committed changes.