httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralf S. Engelschall" <...@engelschall.com>
Subject Re: Linux and Shared Memory.. hell!
Date Mon, 01 May 2000 17:20:21 GMT

In article <390D92F0.6E3CAFCE@elmar.co.il> you wrote:

> I forwarded the question to Moshe Bar, a friend of me. He writes
> for Byte.com, The Linux Journal, and others, about Linux internals
> (including issues discussed in Ralf's question), and is also the
> author of future books from O'Reilly about these issues. He is also
> the head of khaOS distribution project.
> [..]

Thanks for the answers. Now the situation is more clear, although not a
lot better ;) I've now solved the Linux decision chaos in MM with the
following ugly platform specific code:

    #   Unfortunately, Linux has many problems, so we have to do
    #   more granular manual decisions here. The background is:
    #   MM_SHMT_IPCSHM:
    #       Supported under Linux 2.0 and upwards. Works out of the
    #       box on Linux 2.2, but requires an explicitly mounted shm
    #       filesystem under 2.3 only. The requirement for the shm
    #       filesystem should be gone with Linux 2.4.
    #   MM_SHMT_MMANON:
    #       Not allowed up to and included to Linux 2.2.
    #       Should be supported in Linux 2.3, but still hangs there.
    #       Will be supported from Linux 2.4 on the first time really.
    #   MM_SHMT_MMZERO:
    #       Not allowed up to and included to Linux 2.2.
    #       Should be supported in Linux 2.3, but still hangs there.
    #       Will be supported from Linux 2.4 on the first time really.
    #   MM_SHMT_MMFILE:
    #       Works on Linux versions. 
    case $PLATFORM in
        *-linux1* )
            AC_DECISION_FORCE(MM_SHMT_MMFILE)
            ;;
        *-*-linux2.0* )
            AC_DECISION_FORCE(MM_SHMT_IPCSHM)
            ;;
        *-*-linux2.[12]* )
            AC_DECISION_FORCE(MM_SHMT_IPCSHM)
            ;;
        *-*-linux2.3* )
            if test ".`df 2>/dev/null | grep shm`" != .; then
                AC_DECISION_FORCE(MM_SHMT_IPCSHM)
            else
                AC_DECISION_FORCE(MM_SHMT_MMFILE)
            fi
            ;;
        * )
            AC_DECISION_OVERRIDE(MM_SHMT_MMFILE MM_SHMT_MMZERO MM_SHMT_MMPOSX MM_SHMT_MMANON
MM_SHMT_IPCSHM)
    esac

Thanks for your help.

Yours,
                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com

Mime
View raw message