Opened 19 years ago

Last modified 18 years ago

#76 closed defect

fork() failed when using dlopen() — at Initial Version

Reported by: froloff Owned by: bird
Priority: normal Milestone: libc-0.6.2
Component: libc-backend Version: 0.6
Severity: normal Keywords: fork() dlopen DosLoadModuleEx
Cc:

Description

If process load module dynamically (dlopen) after that fork will fail.

I examine the situation a bit and divide it into 3 cases

  1. process dlopen() module then forking. Child process failed during initial fork processing.
  2. process dlopen() module, dlclose() module then forking. Parent process trapped during fork processing.
  3. process dlopen() module, dlclose() module, dlopen() module again then forking. Parent process goes endless loop in forkParValidateModules() during fork processing.

I'll send testcase and libc logs via email.

Note. I didn't find code deregistering module from modules chain - conj procedure to libc_ForkRegisterModule().

Change History (1)

by froloff, 19 years ago

Attachment: bug_report.zip added
Note: See TracTickets for help on using tickets.