<div dir="ltr"><div><br></div><div><br></div><div>See cpukit/libcsupport/src/malloc_deferred.c. It is definitely returning NULL because</div><div>you shouldn't malloc from an ISR. malloc() is a non-deterministic operation. I am</div><div>surprised that code was designed to do that.</div><div><br></div><div>Perhaps this code assumes the USB interrupt is serviced from a thread. The raw</div><div>interrupt unblocks a thread to run this code.</div><div><br></div><div>--joel</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 11, 2017 at 6:36 PM, Mr. Andrei Chichak <span dir="ltr"><<a href="mailto:groups@chichak.ca" target="_blank">groups@chichak.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">(sorry if this ended up on the Devel list.)<br>
<span class=""><br>
I’m working with ST’s HAL USB stack, and to initialize the various structures, they use a USB interrupt as a trigger.<br>
<br>
In this interrupt,  they malloc some space for a descriptor (504 bytes).<br>
<br>
The RTEMS malloc always returns 0.<br>
<br>
Is there a guard against calling malloc in an interrupt context?<br>
<br>
I managed to get around the problem by doing a static allocation, but I was just wondering.<br>
<br>
<br>
Andrei<br>
<br>
______________________________<wbr>_________________<br>
</span>users mailing list<br>
<a href="mailto:users@rtems.org">users@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.rtems.org/<wbr>mailman/listinfo/users</a></blockquote></div><br></div>