Opened 12 years ago

Closed 11 years ago

#5185 closed Bugs (fixed)

Shared library libboost_graph_parallel calls exit() or _exit()

Reported by: robert@… Owned by: Andrew Sutton
Milestone: To Be Determined Component: graph
Version: Boost 1.46.0 Severity: Problem
Keywords: Cc: mcepl@…

Description

During a package review at Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=673839) our rpmlint warned, that the shared library libboost_graph_parallel calls exit() or _exit():

boost-graph-mpich2.i686: W: shared-lib-calls-exit /usr/lib/mpich2/lib/libboost_graph_parallel.so.1.46.0 exit@GLIBC_2.0
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.

boost-graph-mpich2.i686: W: shared-lib-calls-exit /usr/lib/mpich2/lib/libboost_graph_parallel-mt.so.1.46.0 exit@GLIBC_2.0
This library package calls exit() or _exit(), probably in a non-fork()
context. Doing so from a library is strongly discouraged - when a library
function calls exit(), it prevents the calling program from handling the
error, reporting it to the user, closing files properly, and cleaning up any
state that the program has. It is preferred for the library to return an
actual error code and let the calling program decide how to handle the
situation.

May somebody more knowledged than me please investigate here, whether this exit()/_exit() is acceptable or whether it should be changed/rewritten (and if yes, do so)? Thank you very much.

Change History (2)

comment:1 by mcepl@…, 12 years ago

Cc: mcepl@… added

comment:2 by Jeremiah Willcock, 11 years ago

Resolution: fixed
Status: newclosed

(In [73425]) Removed calls to exit(); fixes #5185

Note: See TracTickets for help on using tickets.