On 02/29/16 17:08, Hannes Reinecke wrote:
On 02/29/2016 10:58 PM, Bart Van Assche wrote:
On 02/28/16 23:59, Hannes Reinecke wrote:
libudev has a _massive_ static memory footprint
(Kay doesn't believe in memory allocation).
So when using libudev you might end up having a really large memory
footprint due to all the on-stack allocations in there.
Be especially careful when attempting to use pthreads; debugging stack
overflow in pthreads is no fun whatsoever.

That's exactly the reason why I never allocate large data structures on
the stack in applications I write myself and why I use dynamic memory
allocation for large data structures. To make sure that such large stack
allocations get detected I set the stack size to a low value:

   pthread_attr_t attr;
   pthread_attr_init(&attr);
   pthread_attr_setstacksize(&attr, PTHREAD_STACK_MIN);
   pthread_create(..., &attr, ..., ...);

Oh, I don't need to detect them.
I know exactly where they are. But precisely that is a design goal of
the libudev code, so any patches trying to fix that up will be discarded
out-of-hand :-(

That could be an argument to fork libudev ...

Bart.

--
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to