:> :> 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