<div dir="ltr">Thanks for your reply; I am using Linux on x86_64 and the get_native_error was actually 12, get_error_code was 13. So I am running out of physical memory; so it is not possible to limit the managed_xsi_shared_memory by the amount of free virtual memory (your reply seems to imply that I am constrained by the free physical memory ? <div>
<br></div><div><br></div><div style>Regards</div><div style>vipin</div><div><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 30, 2014 at 12:59 AM, Ion Gaztañaga <span dir="ltr">&lt;<a href="mailto:igaztanaga@gmail.com" target="_blank">igaztanaga@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">El 29/04/2014 23:23, vipin sachdeva escribió:<div class=""><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It is error code 13; basically I would like to find out out beforehand<br>
how much maximum shared memory (using MemFree from /proc/meminfo, sysctl<br>
info etc) I can allocate on a machine and only make an allocation that<br>
big , and only allocate a segment of that size. Are there any other<br>
system variables I need to consider ? Thanks.<br>
</blockquote>
<br></div>
Is that value the errno value (get_native_error)? At least in linux (you haven&#39;t tell us which OS you are using), errno 13 is EACCES (Permission denied). ENOMEM is 12.<br>
<br>
<a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/errno-base.h" target="_blank">https://git.kernel.org/cgit/<u></u>linux/kernel/git/torvalds/<u></u>linux.git/tree/include/uapi/<u></u>asm-generic/errno-base.h</a><br>

<br>
If you are referring to get_error_code(), then it&#39;s Interprocess&#39; out_of_memory_error (it comes from ENOMEM Posix value).<br>
<br>
Maybe you don&#39;t have a contiguous page of a page of size, there are more processes consuming pages, old shared memory created by shmget has not been freed... According to POSIX ENOMEM can be returned if &quot;the amount of available physical memory is not sufficient to fill the request&quot;. Do you have enough physical memory (not virtual) free?<br>

<br>
Perhaps you could debug the Interprocess code until the shmget() call to see if parameters are correctly passed to the OS. If those parameters are correct, then it&#39;s absolutely OS-dependent.<div class="HOEnZb"><div class="h5">
<br>
<br>
Best,<br>
<br>
Ion<br>
______________________________<u></u>_________________<br>
Boost-users mailing list<br>
<a href="mailto:Boost-users@lists.boost.org" target="_blank">Boost-users@lists.boost.org</a><br>
<a href="http://lists.boost.org/mailman/listinfo.cgi/boost-users" target="_blank">http://lists.boost.org/<u></u>mailman/listinfo.cgi/boost-<u></u>users</a><br>
</div></div></blockquote></div><br></div></div></div>