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

Re: sunos4-lwp support broken (ITS#114)



At 03:32 PM 3/30/99 GMT, az@Austria.EU.net wrote:
>Full_Name: Alexander Zangerl
>Version: 1.2.0
>OS: sunos 4.1.3u1
>URL: 
>Submission from: (NULL) (193.154.146.21)
>
>
>configure detects lwp correctly, but the compile fails with some
>trivial and some ugly errors.

We *should* be able to sort these out without to much problems.
Best if we fix -devel first and then port the changes into
releng 1.2.

>thr_lwp.c:
>	wants to include "ldap_log.h", nonexistant. fix: remove line

That's a -devel'ism.

>	references types defined in slurpd.h :-(
>	fix: include this one

Yiks.  The referenced variables need to moved to inside of
the ldap_thread implementation (The old slurpd/tsleep
globals have been axed.).  ldap_pvt_thread_initialize()
to handle any initialization.

>thr_sleep.c:
>	references types defined in lwp/lwp.h and slurpd.h :-(
>	fix: include these headers

See above.

>	does reference free_stack, which does not exist.
>	fix: replace with ldap_pvt_thread_free_stack

>and now for the uglies:
>the "scheduler" thread for sleep does reference stuff that's only present
>in slurpd :-(((
>so, nothing that wants to link liblthread builds - except slurpd.

>fix: baah, i've not really fixed that yet. hack: change the thread
>initialization to
>define the needed data structure (Global *sglob) and initialize it, and remove
>the corr. code from slurpd (ugly as hell, therefore not included in my diffs)

Yes, remove the dependency.

>the scheduler thread is not killed when slapd tries to exit.
>fix: none yet, one had to modify daemon.c and init.c to store the schedulers
>tid somewhere and kill this one when exiting.

Applications should have a ldap_pvt_thread_destory() call...
I can add this to the thread implementation and fix up applications
to call it.

>lwp has no per thread signals, therefore the code in daemon.c that tries 
>to pthread_kill the listener thread does not work.

This should be okay as long as HAVE_YIELDING_SELECT is UNDEFINED.
We can force the test false if SunOS LWP is detected.

>fix: none yet, me thinks slapd should lwp_destroy the mentioned threads.
>
>i include a diff of the relevant files against my hacked version.

I'm skimming through the diff now.  However, will need your
assistance to get:
	1) SunOS LWP working under the current -devel framework
	2) a port of 1) working under release engineering 1.2

Kurt