Bug 172757
Summary: | aio_suspend hangs when file I/O | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 4 | Reporter: | Liang Dianpeng <liandp> | ||||
Component: | glibc | Assignee: | Jakub Jelinek <jakub> | ||||
Status: | CLOSED NOTABUG | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 4.0 | CC: | drepper | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | ia64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2005-11-09 08:27:53 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Liang Dianpeng
2005-11-09 05:46:22 UTC
Created attachment 120834 [details]
aio_suspend test program which can reproduce aio_suspend hangs
compile method is the follow :
gcc -g testaio.c -o testaio -lrt -D_LARGEFILE64_SOURCE -_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -DFORK
lio_listio implies multi-threaded process. And in a multi-threaded process you are not allowed to call almost any function after fork (except async-signal-safe functions), see http://www.opengroup.org/onlinepubs/009695399/functions/fork.html So you can't e.g. call lio_listio there, as it is not async-signal-safe. Thanks a lot. It is understood. In Red Hat is there other asynchronous I/O function ? Just aio_* and lio_*. It really depends on what exactly you want to do. Either use a thread instead of forking, or exec a child program and do the work in there. |