:> 
:>     I ran your program.  malloc() appears to work properly -- returns NULL 
when
:>     the datasize limit is reached.  In my case, I set the datasize limit 
:>     to 64MB and ran the program.
:
:Unset the datasize limit. Now what happens? It used to return NULL, now
:it gets SIGKILLed. Seriously, about the killing thing, shouldn't we at least
:have a timer so two things don't get killed?

    If you unset the datasize limit and the program does not exceed the
    maximum system-supported datasize limit, malloc() should not return
    NULL even if the system is out of swap.  I don't know why it apparently
    did before -- it shouldn't have.   I seem to remember that the default
    datasize limit for the system was upped a few months ago.  I don't 
    think malloc() operation has changed.

    The correct solution is to set a maximum datasize limit.  That is what
    it is there for.  I generally unlimit the datasize for root and set it
    to around 64MB for all other users.

                                        -Matt
                                        Matthew Dillon 
                                        <dil...@backplane.com>



To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-current" in the body of the message

Reply via email to