[Date Prev][Date Next] [Chronological] [Thread] [Top]

Deadlock on Solaris


I've written a shell backend for openldap and it works quite well.

However, when I start several requests at the same time, my programs start to lock each
other and the whole slapd process locks until I kill all the started programs.

In fork.c in back-shell, it says:
         * child could deadlock here due to resources locked
         * by our parent
         * If so, configure --without-threads or implement forking
         * via a surrogate parent.

which seems to be the case when I have multiple threads working at the same time.

The "configure --without-threads" is not really an option, since I have to have parallel processing and as far as I know there is no multiprocess mode (like in Apache) in openldap.

Can anybody tell me what "implement forking via a surrogate parent" means?

As a note; On Linux, I get no locking problems, only on Solaris (2.6). Does anybody know aboout locking problems on HP-UX?