<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Portability Blog (Entries tagged as ipc)</title>
    <link>http://portabilityblog.com/blog/</link>
    <description>tales about building software on many platforms</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2.1 - http://www.s9y.org/</generator>
    <managingEditor>df.portabilityblog@erinye.com</managingEditor>
<webMaster>df.portabilityblog@erinye.com</webMaster>
<pubDate>Sat, 15 Dec 2007 19:23:41 GMT</pubDate>

    <image>
        <url>http://portabilityblog.com/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Portability Blog - tales about building software on many platforms</title>
        <link>http://portabilityblog.com/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>UNIX domain sockets</title>
    <link>http://portabilityblog.com/blog/archives/4-UNIX-domain-sockets.html</link>
            <category>Operating Systems</category>
    
    <comments>http://portabilityblog.com/blog/archives/4-UNIX-domain-sockets.html#comments</comments>
    <wfw:comment>http://portabilityblog.com/blog/wfwcomment.php?cid=4</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://portabilityblog.com/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4</wfw:commentRss>
    

    <author>nospam@example.com (Daniel Fischer)</author>
    <content:encoded>
    Unlike sockets in other domains, sockets in the UNIX domain are visible in the file system. Because of this, they&#039;re sometimes confused with regular files. When they&#039;re not being confused with regular files, their specific restrictions that don&#039;t apply to other files are still easily forgotten. One such restriction of a UNIX domain socket is the length of its name.&lt;br /&gt;
&lt;br /&gt;
Path names can be rather long on UNIX-like systems these days. Gone are the days of file names limited to 14 characters and for path names, POSIX-compliant operating systems generally support up to 256 characters. On many platforms, path names can be even longer than that. For example, PATH_MAX is 1024 on Mac OS X and 4096 on GNU/Linux. &lt;br /&gt;
&lt;br /&gt;
In contrast, the full path name of a UNIX domain socket must fit into a struct sockaddr_un. Its component sun_path generally has much less room for the socket&#039;s name than 1024 characters. Typical numbers are 108 (Linux, Solaris, Cygwin), 104 (AIX, BSDs, Mac OS X), and 92 (HP-UX). At some point, it was only 14 in &lt;a href=&quot;http://en.wikipedia.org/wiki/Interix&quot;&gt;Interix&lt;/a&gt; 5.2.&lt;br /&gt;
&lt;br /&gt;
This means that, while UNIX domain sockets do appear as if they were files, they can&#039;t be placed in an arbitrary location in the file system. Now, imagine an automated testing process that can test multiple instances of the software at a time, and keeps all files relevant to one test run within one directory. Path names can easily become longer than 92 characters in a scenario like this. In one case, this happened in a system where the name of one such instance&#039;s directory didn&#039;t have a constant length and occasionally brought the complete path to more than 92 characters, causing random total failures on HP-UX.  
    </content:encoded>

    <pubDate>Wed, 19 Dec 2007 12:05:00 +0100</pubDate>
    <guid isPermaLink="false">http://portabilityblog.com/blog/archives/4-guid.html</guid>
    <category>ipc</category>
<category>unix</category>

</item>

</channel>
</rss>