Boost C++ Libraries: Ticket #3405: boost/interprocess is incompatible to Win9x https://svn.boost.org/trac10/ticket/3405 <p> The use of boost/interprocess makes the resulting binary incompatible to Win98 because of the import of </p> <p> <a class="missing wiki">SetFilePointerEx</a> and <a class="missing wiki">GetFileSizeEx</a> </p> <p> (and it makes the binary fat even if you use only minor features of it... =( ) </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3405 Trac 1.4.3 Steven Watanabe Sat, 05 Sep 2009 15:15:09 GMT component changed; owner set https://svn.boost.org/trac10/ticket/3405#comment:1 https://svn.boost.org/trac10/ticket/3405#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Ion Gaztañaga</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">interprocess</span> </li> </ul> <p> Win9x is not really supported. No one is running regression tests on anything earlier than XP as far as I can tell. </p> Ticket anonymous Sat, 05 Sep 2009 23:57:56 GMT <link>https://svn.boost.org/trac10/ticket/3405#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3405#comment:2</guid> <description> <p> not very cool. sorry. </p> <p> To make boost/interprocess/sync/*_lock.hpp useable under Win98 you not only need to wrap get_file_size and set_file_pointer_ex - you also must overcome a strange assumption set_file_pointer_ex does... It assumes that if you point the file-pointer over the actual size of the file and call <a class="missing wiki">SetEndOfFile</a> afterwards, the file not only increases (what is true and documented) - the remaining bytes are initialized by zero. I cant find that this is documented - the documentation for <a class="missing wiki">SetFilePointerEx</a> says "leaving the intervening bytes uninitialized" ... but it seems to work under XP ... I would call this a bug... but maybe its not the beauty that counts anyway... </p> <p> (sorry, but after crawling this part of the boost-code i lost some respect points for the project...) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Tue, 08 Sep 2009 11:51:02 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3405#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3405#comment:3</guid> <description> <p> did you know that you can create a memory-mapped files that are backed up by the pageing file instead a concrete file on the harddisc via calling <a class="missing wiki">CreateFileMapping</a> with INVALID_HANDLE_VALUE and a normal name? (see MSDN or (recommended to read (as i do just now): "Programming Applications for Microsoft Windows from Jeffrey Richter)) if you do this you have 2 Benefits: a) you dont have to create files in %TEMP% which stayes even if your syncronizing applications are closed (because Windows dump the file if the last application closes it) b) you never have syncronizing files that are invalid (and let the apps hang!) (because one of the syncing apps in the last run crashes (or would stopped by the debugger while developing)) would be very nice if you could update that in your code. thanks a lot. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Ion Gaztañaga</dc:creator> <pubDate>Thu, 26 Aug 2010 11:00:53 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/3405#comment:4 https://svn.boost.org/trac10/ticket/3405#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> Windows 95 family is not supported. </p> Ticket